
Dr. Phillip Heidegger
Until June 2012, I was a Ph.D. student at the University of Freiburg, Institute for Computer Science. I worked in the group Progλang under the supervision of Prof. Dr. Peter Thiemann. My research interest includes programming languages and static program analysis. Currently, I'm working at censhare AG.
During my time at the university I worked on a DFG project "Typbasierte Programmanalyse für Skriptsprachen" (type-based program analysis of scripting languages). The main goal of the project was to develop a type system for JavaScript that helps finding common errors in JavaScript source code. One major aspect of JavaScript is the flexible realization of its objects. It is possible to modify the objects' set of properties at runtime and use arbitrary expressions to compute property labels. These labels can then be used to read properties or modify the associated values. Since this behavior of objects raises many unsolved questions, I focused my work on dealing with JavaScript objects in a static typesytem.
A second important part of my research is based on the dynamic program analysis tool JSConTest. Because some properties of dynamic languages are difficult to analyse statically, JSConTest focuses on dynamic monitoring facilities to increase the quality of JavaScript software. With access contracts a JavaScript programmer can neatly express what kind of side effects a function is allowed to perform on the heap. Access contracts are also useful to establish security protocols in web pages.
Some other aspects of JavaScript that are of interest: exceptions, labeled statements, first class functions, etc.
Contact
phillip@heidegger.eu, The address heidegger@informatik.uni-freiburg.de is outdated. | |
PGP | My public key (expires 26.03.2017), old public key (expired), old public key (expired). |
Publications
-
Phillip Heidegger
Increasing Software Quality of JavaScript Programs - An Approach Based on Type Systems
PhD thesis, Technische Fakultät der Albert-Ludwigs-Universität Freiburg im Breisgau, Germany. June 2012.
[color, black and white] - Phillip Heidegger, Peter Thiemann
JSConTest: Contract-Driven Testing and Path Effect Inference for JavaScript
Journal of Object Technology, Volume 11, no. 1, (April 2012). pp. 1-29.
[paper, bibtex] - Phillip Heidegger, Annette Bieniusa and Peter Thiemann
Access Permission Contracts for Scripting Languages
POPL 2012: 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Philadelphia, USA. January 2012.
[extended paper, bibtex] - Phillip Heidegger and Peter Thiemann
A Heuristic Approach for Computing Effects
TOOLS EUROPE 2011, 49th International Conference on Objects, Models, Components, Patterns.
Zurich, Switzerland. June 2011.
[paper, bibtex] - Phillip Heidegger, Annette Bieniusa and Peter Thiemann
DOM Transactions for Testing JavaScript
In Proceedings of Testing - Practice and Research Techniques, 5th International Academic and Industrial Conference, TAIC PART 2010
Windsor, UK. September 2010.
[paper] - Phillip Heidegger and Peter Thiemann
JSConTest - Contract-Driven Testing of JavaScript Code
TOOLS EUROPE 2010, 48th International Conference on Objects, Models, Components, Patterns.
Malaga, Spain. June 2010.
[paper, bibtex] - Phillip Heidegger and Peter Thiemann
Recency Types for Analyzing Scripting Languages
ECOOP 2010 - Object-Oriented Programming, 24rd European Conference
Maribor, Slovenia. June 2010
[paper, bibtex] - Phillip Heidegger and Peter Thiemann
Recency Types for Dynamically-Typed, Object-Based Languages
International Workshop on Foundations of Object-Oriented Languages (FOOL).
Savannah, USA. January 2009
[paper, bibtex] - Annette Bieniusa, Markus Degen, Phillip Heidegger,
Peter Thiemann, Stefan Wehr, Martin Gasbichler, Marcus Crestani,
Herbert Klaeren, Eric Knauel, and Michael Sperber
Auf dem Weg zu einer robusten Programmierausbildung
In Tagungsband zur 3. GI-Fachtagung Hochschuldidaktik Informatik.
Potsdam, Germany. December 2008.
[paper, bibtex] - Annette Bieniusa, Marcus Crestani, Markus Degen,
Martin Gasbichler, Phillip Heidegger, Herbert Klaeren,
Eric Knauel, Michael Sperber, Peter Thiemann,
and Stefan Wehr
HtDP and DMdA in the Battlefield - A Case Study in First-year Programming Instruction
In Proceedings of the 2008 Workshop Functional and Declarative Programming in Education. September 2008.
[paper, bibtex]
Talks
- Access Permission Contracts for Scripting Languages
Philadelphia, USA, 2012.
[slides] - DOM Transactions for Testing JavaScript
Windsor, England, 2010.
[slides] - JSConTest Contract-Driven Testing of JavaScript Code
Malaga, Spain, 2010.
[slides] - Recency Types for Analyzing Scripting Languages
Maribor, Slovenia, 2010.
[slides] - Recency Types for Dynamically-Typed, Object-Based Languages
Savannah, USA, Jan 2009.
[slides] - Recency Types for Dynamically-Typed, Object-Based Languages
La Plata, Argentina, Oct 2008
[slides] - Type system for Javascript
6tas. Jornadas de Ciencias de la Computacion
Rosario, Argentina, Oct 2008
[slides, abstract] -
Statisches Typen von JavaScript Programmen
25. Workshop der GI-Fachgruppe Programmiersprachen und Rechenkonzepte
Bad Honnef, Germany, Mai 2008.
[slides, extended abstract] - Typbasierte Analyse von JavaScript
4. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'07)
Timmendorfer Strand, Germany, October 2007
[slides, extended abstract] -
Typbasierte Analysen fuer JavaScript
24. Workshop der GI-Fachgruppe Programmiersprachen und Rechenkonzepte
Bad Honnef, Germany, Mai 2007.
[slides, abstract]
Teaching
courses I co-organized
- Concurrency: Theory and Practise, WS 2010/2011
- Algorithms Theory, WS 2009/2010
- Programmierzertifikat Objekt-Orientierung mit Java, SS 2009
- Softwareentwicklungsmethoden, SS 2009 (access only for students with a login)
- Webprogrammierung mit Template-Genie, WS 2008/2009
- Webprogrammierung und Teammanagement, WS 2008/2009
- Programmierzertifikat Objekt-Orientierung mit Java, SS 2008
- Informatik I, WS 2007/2008
- Webprojekt, WS 2007/2008
other teaching activities
- Informatik I, WS 2008/2009
- Seminar: Type Systems, WS 2008/2009
- Softwaretechnik , SS 2008
- assist supervising bachelor thesis of Malte Ahl, SS 2009, in German
- assist supervising diploma thesis
(comparable to a master thesis) of Stefan Teichtweier,
WS 2007/2008, in German,
Title: Modellgetriebene Softwareentwicklung formularbasierter Anwendungen - assist supervising bachelor thesis of Matthias Sauer,
SS 2007, in German,
Title: "Template-Genie" - Eine Java-Template-Engine zur generischen Erzeugung sprachunabhängiger Websites -
assist supervising thesis of Stefan Teichtweier, SS 2007,
in German,
Title: Metamodellierung bei der formbasierten Analyse
Subtitle: Modelgetriebene Softwareentwicklung mit OpenArchitectureWare und dem Eclipse Graphical Modelling Framework
Other Activities
Conferences
I was one of the local organizers of