This blog is now obsolete. Go to scott.arbeitman.id.au for all new content.

Minor Thesis: Inference of Enumerated Types In Java

| Wednesday, September 2, 2009

If you're not from the Computer Science discipline, you can safely skip this post.

After doing some hard drive spring-cleaning, I came across the Latex files relating to my master's thesis at the University of Melbourne. Although I undertook a Masters of Software Systems Engineering by coursework, I was able to write a minor thesis in lieu of 2 subjects.

At the time, compilers and type analysis were of particular interest to me, having thoroughly enjoyed the Compiler Design class at McGill several months earlier. In that class, we wrote a compiler for a toy language called WIG and added features to an existing compiler for the JOOS language, a subset of Java. We used the SableCC lexer/parser, an open source compiler compiler written by another McGill student. I remember staying up several late nights before the project was due. It was great fun.

The forthcoming language enhancements in Java 5 provided a good platform for static code analysis and enhancement; a similar paper inferred generic types, for example. I had also competed a survey of programming languages class which compared functional, logic and imperative language (Haskell, Prolog and Java respectively) taught by Peter Schachte. Peter was kind enough to supervise.

With that background, I thought I would post the PDF of the paper I wrote. I'm not sure if this is the exact paper I submitted, and it certainly includes some typos and, having reread it recently, I can see that my writing needed a bit of work. It is very difficult to decipher some of the content. I suspect I used the most complex symbols and wording possible, but I had slaved through reading similar papers during my research so I must of thought that was the best way to do things.

Without any further ado, please find my paper, Inference of Enumerated Types In Java in PDF format. Note that this paper has not been published in any journal, and has had minimal peer review. It is presented for educational purposes only. However, if you'd like to chat about it, do get in touch.


0 comments: