-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathweb-semantics.html
More file actions
50 lines (47 loc) · 2.06 KB
/
web-semantics.html
File metadata and controls
50 lines (47 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<!--#include file="ssi/head.ssi"-->
</head>
<body>
<!--#set var="page" value="academic"-->
<!--#set var="subpage" value="research"-->
<!--#include file="ssi/body.ssi"-->
<h2>Semantics for the Web</h2>
<h3>Papers and Downloads</h3>
<ul>
<li><a href="papers/dls2012_s5.html">A Tested Semantics for
Getters, Setters and Eval in JavaScript</a>, DLS 2012</li>
<li><a href="papers/webapps2012.html">Modeling and
Reasoning about DOM Events</a>, WebApps 2012</li>
</ul>
<h3>Motivation</h3>
<p>
Client-side web programs take advantage of ...
</p>
<h3>Approach</h3>
<p>An extension is a self-contained piece of code that
inserts itself in various places in the browser in order
to implement its feature. In other words, it is very much
like <i>aspect-oriented</i> coding, which similarly weaves
advice code into a mainline program. The fundamental
difference here is that extensions are always written by
people other than the browser developers, whereas
typically aspects are written by the mainline authors.
Our first effort, therefore, has been to add aspects to
Javascript, so that we can rewrite extensions more
declaratively, to state explicitly what they're hooking in
the browser. This work has been done in Spur, a Microsoft
Research JScript compiler.</p>
<p>Additional work is under way to explore other forms of
extension hooks, such as how overlays inject new content
into HTML, and characterize the kinds of conflicts those
hooks entail. Knowing this, we can begin to develop
static analyses that detect weaving violations or other
semantic problems, and thereby detect when extensions
conflict.</p>
<!--#include file="ssi/footer.ssi"-->
</div>
</body>
</html>