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