Refinement of Web Software Motivated by Real-World Patterns
Friday, April 18, 2014 - 8:45am - 10:00am
KEC 1007
Gregor Richards
PhD candidate
Secure Software Systems Lab
Purdue University
Abstract:
JavaScript is a highly popular, dynamic programming language. Although originally
designed for small scripts, the scale of software written in JavaScript has grown, and
with large-scale web applications has come demand for better analysis and software
engineering tools. The tools, however, are frequently stifled by JavaScript's dynamicity.
Reigning in JavaScript's more dynamic and inscrutable features yields maintainable,
understandable code, which is then suitable for more powerful analyses. This talk
discusses the Dynamics of JavaScript (DynJS) project, which has (1) studied how
real-world programmers use JavaScript, (2) addressed the impact of these uses on
analysis, and (3) produced tools and gradual typing extensions to JavaScript which allow
dynamic code to be gradually made more maintainable, understandable and analyzable. In
particular, tools for performance measurement and the elimination of "eval"
will be discussed, as well as the LikeScript language, which extends!
JavaScript to add gradual (and optional) type annotations, allowing
programmers to document their intent while retaining compatibility with
existing client code.
Biography:
Gregor Richards is a PhD candidate at Purdue University's Secure Software Systems lab. His work focuses on creating tools to study how programming languages are used "in the wild" and rectify problems found there. He aims to strike a balance between the pragmatism of highly dynamic languages and the reliability of static ones. He is additionally interested in the development of system software, in particular virtual machines. When not studying software, he plays the accordion. These activities infrequently overlap.
_______________________________________________
Colloquium mailing list
[email protected]
https://secure.engr.oregonstate.edu/mailman/listinfo/colloquium