Michael Pradel, TU Darmstadt

(hosted by Viktor Vafeiadis)

"Scalable Program Analyses for JavaScript-based Web Applications"

(Vortrag im Rahmen der "MPI Distinguished Lecture Series" in Kooperation mit dem Fachbereich Informatik)

JavaScript is becoming the most prevalent programming language, powering applications in the web, on mobile platforms, and on desktop computers. Unfortunately, the language not only makes it easy to write concise code in short time, but also to introduce programming errors, many of which are hard to detect with traditional analyses. This talk presents two approaches to detect such errors.

First, we present EventBreak, a performance-guided test generation technique to identify and analyze event handlers whose execution time gradually increases while using the application, making the application unresponsive. The key idea is to systematically search for pairs of events where triggering one event increases the execution time of the other event. EventBreak discovers scalability and responsiveness problems in three real-world web applications.

Second, we present TypeDevil, a mostly dynamic analysis that warns developers about inconsistent types. The analysis assigns the set of observed types to each variable, property, and function, merges types based in their structural properties, and warns developers about inconsistencies. To deal with the pervasiveness of polymorphic behavior in JavaScript, we present a set of techniques to remove spurious warnings and to merge related warnings. TypeDevil detects 15 problems in widely used benchmarks and web applications, including correctness problems, performance problems, and dangerous coding practices.

This work is presented at OOPSLA'14 and ICSE'15.

Bio: Michael leads an independent research group at TU Darmstadt. His research interests span software engineering and programming languages, with a focus on tools and techniques for building reliable, efficient, and secure software. Previously, he has been a postdoctoral researcher at UC Berkeley, and a postdoctoral researcher and lecturer at ETH Zurich, where he received his Ph.D. in 2012. Michael graduated in computer science at TU Dresden and in engineering at Ecole Centrale Paris. He visited EPFL to pursue his master thesis. Michael has been awarded the Software Engineering Award of the Ernst-Denert-Foundation for this dissertation and the Emmy Noether grant by the DFG.

Time: Thursday, 05.03.2015, 10:30 am
Place: MPI-SWS Saarbrücken, Campus E1 5, room 029
Video: Simultaneous video cast to MPI-SWS Kaiserslautern Paul Ehrlich Str. 26, room 112