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
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.