Thu 29 Oct 2015 14:15 - 15:00 at Brighton 1-4 - Session 5

As JavaScript has become ubiquitous through rich client-side Web applications, it has become ever more important to analyze JavaScript code; it has not, however, become any easier. Indeed, the proliferation of frameworks such as jQuery has made static analysis ever more difficult. In this talk, I shall discuss the unusual origins of JavaScript static analysis with WALA, and then describe our series of attempts to deal with the ever-growing complexity of JavaScript applications. I shall also describe the interplay between research and product goals that have driven our work.

I have been a Research Staff Member at IBM’s Thomas J. Watson Research Center since 2000. I work on a range of topics, including static program analysis, software testing and the semantic web. I have also worked on the Jikes Research Virtual Machine (Jikes RVM). My program analysis work has recently been focused on scripting languages like JavaScript and on security analysis of Web applications; our work has been included in IBM products, most notably Rational AppScan products, and I am one of the primary authors of the publicly-available Watson Libraries for Analysis (WALA) program analysis infrastructure. My testing work has been primarily focused on Web applications in the Apollo project, and on finding concurrency bugs using both dynamic execution and model checking. My semantic Web work has been on scalable inference with the SHER project; recently, I have focused on representing RDF data efficiently in an RDBMS. I was educated at the University of Wisconsin-Madison as an undergraduate, and at the University of Illinois at Urbana-Champaign as a graduate student where I worked with Professor Andrew Chien on programming systems for massively-parallel machines.