background background full res
Main Research Activities Biography

Research

At present I am investigating the concept of "typestate", where a state machine defines the sequence in which methods can be called. My research vehicle for doing this is Hanoi, a domain specific language and set of tools I have devised to formalise stateful interfaces in Java code.

More generally, my goals for my PhD are:
  • Prevent common programming errors at compile time, particularly in parallel / distributed systems
  • By preventing common programming errors from occurring, remove unnecessary runtime checks to improve performance
Typestate is but one aspect of this, I am also interested in contract specification (as found in Spec#) and alias control as means of preventing API misuse.

Publications

  • Hanoi: A Typestate DSL for Java by McGinniss, I. and Gay, S. J. TR-2011-326 (full citation)
  • Typestate modelling and verification with Hanoi by McGinniss, I. ARW 2011.
  • Hanoi: A Practical Typestate Model for Java by McGinniss, I. and Gay, S. J. SICSA PhD Conference 2010, Best Paper.