Dr. Phillip Heidegger
Senior Software Developer censhare AG
Phillip Heidegger

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

Email 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

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

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