Visible to the public Verifying JavaScript and Creating Foundations for the Web


The highly dynamic, overloaded, and unconventional nature of JavaScript makes it difficult to corral with sound static reasoning methods. We have tackled its complexity by creating a tractable core semantics that exhibits conformance with the actual language. Armed with this semantic foundation, we have built static reasoning systems to certify uses as diverse as in-page mashups, browser extensions, and clients of large frameworks. Our analyses have been successfully applied to real-world, third-party code, while our semantic framework is now used by groups worldwide. I will discuss our results and reflect on lessons learned from conducting this research.
Our materials can be found at

Creative Commons 2.5

Other available formats:

Verifying JavaScript and Creating Foundations for the Web
Switch to experimental viewer