Video is ready, Click Here to View ×

In 1996, the first JavaScript interpreter was shipped with Netscape Navigator. Since then the web has become an application platform, and JavaScript has evolved into “the assembly language of the web”. There are now JavaScript implementations of word processors, spreadsheets, chat programs, image editors and FPS games. Unfortunately, writing large reliable software in JavaScript can be extremely challenging. JavaScript makes it difficult to write modular programs and is notorious for its corner cases, which are easy to trip over. In the JSCert project ( we have been working to provide a trusted semantics and program logic for client side web programming. Our goal is to make it possible to produce truly high confidence client-side web programs. This talk will present a program logic, based on separation logic, for client side web programming.