Thesis Proposal
"Static Types for JavaScript: Theory and Practice"
Arjun Guha
Wednesday, October 14, 2009 at 1:00 P.M.
Room 345 (CIT 3rd floor)
Browser-based Web applications are rapidly growingly in size and complexity. Writing these applications is notoriously difficult, because JavaScript---the lingua franca of Web browsers---is not designed for large-scale software engineering.
Other languages have successfully used type systems to manage the complexity of large programs. However, JavaScript supports unusual features such as prototype-based objects and flow-based type reasoning. Previous attempts at typing JavaScript have ignored large portions of the language that are inconvenient for types.
We propose a practical type system for JavaScript that integrates typing and program analysis in a principled way. We admit features and idioms of real-world JavaScript programs that confound existing techniques. We propose evaluating our work by ascribing types to large JavaScript programs.
Host: Shriram Krishnamurthi