Searching for the Source of Caml Type-Error Messages
This dissertation is was finished in May 2011. It involves attempting to produce more accurate error reporting of programs written in the functional programming language, Caml, when a program is syntactically valid but type inference fails (i.e. parsing succeeds but type annotation doesn't). It consists of an OCaml compiler extension called TELE (Type-Error Location Extension) and follows an approach similar to SEMINAL by searching for small modifications to the program that make it well-typed and producing type-error messages in the form of suggested modifications to the program.
The dissertation out-performed SEMINAL (with triage disabled) on a corpus of ill-typed programs that contained a single type-error and gained a high first class result.
Download the dissertation
I hope to make the extension publically available as a patch to OCaml 3.12.0 soon.
I'd be interested to hear from you if you have any comments or questions about the project.