Dynamics of JavaScript
JavaScript has recently become of interest to language researchers; these brave souls have targeted it for language extensions, program analysis, and other research. Depending on whom you ask, JavaScript is either well-behaved or extremely unpredictable. This is worrying, since most research must make simplifying assumptions: if these assumptions do not hold, then research claims may be unfounded. We aim to quantify how JavaScript code actually behaves in the wild, and whether this aligns with assumptions found in programmer folklore and the literature.
The DynJS project analyzes the dynamic (runtime) behavior of JavaScript in an effort to better quantify how the language is used. To date, we have focused on aspects of dynamicity in general (PLDI 2010), as well as uses of eval specificially (ECOOP 2011).