@conference {300611, title = {Atlantis: Robust, Extensible Execution Environments for Web Applications}, booktitle = {SOSP}, year = {2011}, address = {Cascais, Portugal}, abstract = {Today{\textquoteright}s web applications run inside a complex browser environment\ that is buggy, ill-specified, and implemented in\ different ways by different browsers. Thus, web applications\ that desire robustness must use a variety of conditional code\ paths and ugly hacks to deal with the vagaries of their runtime.\ Our new exokernel browser, called Atlantis, solves\ this problem by providing pages with an extensible execution\ environment. Atlantis defines a narrow API for basic\ services like collecting user input, exchanging network data,\ and rendering images. By composing these primitives, web\ pages can define custom, high-level execution environments.\ Thus, an application which does not want a dependence on\ Atlantis{\textquoteright} predefined web stack can selectively redefine components\ of that stack, or define markup formats and scripting\ languages that look nothing like the current browser runtime.\ Unlike prior microkernel browsers like OP, and unlike\ compile-to-JavaScript frameworks like GWT, Atlantis is the\ first browsing system to truly minimize a web page{\textquoteright}s dependence\ on black box browser code. This makes it much easier\ to develop robust, secure web applications.}, url = {http://scholar.harvard.edu/files/mickens/files/atlantis.pdf}, author = {James Mickens and Mohan Dhawan} }