Local reasoning about Web programs
Since 1990, the world wide web has evolved from a static collection of reference pages to a dynamic programming and application-hosting environment. At the core of this evolution is the programming language JavaScript and the XML update library "DOM". Every modern web browser contains a DO...
Main Author: | |
---|---|
Other Authors: | |
Published: |
Imperial College London
2011
|
Subjects: | |
Online Access: | http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.537244 |
id |
ndltd-bl.uk-oai-ethos.bl.uk-537244 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-bl.uk-oai-ethos.bl.uk-5372442017-08-30T03:16:38ZLocal reasoning about Web programsSmith, Gareth DavidGardner, Philippa ; Drossopoulou, Sophia2011Since 1990, the world wide web has evolved from a static collection of reference pages to a dynamic programming and application-hosting environment. At the core of this evolution is the programming language JavaScript and the XML update library "DOM". Every modern web browser contains a DOM implementation which allows JavaScript programs to read and alter the web page that the user is currently viewing. JavaScript and DOM are extremely successful, and this success may be in part due to their highly dynamic and tightly integrated nature. However, this very nature hinders formal program analysis and tool development. Even the implementation independent specification that defines DOM is largely written in the English language, and not using any formal system. While client-side web programming was once a simple discipline of form validation and interface trickery, it is fast becoming a far more serious business encompassing application development for the emerging ubiquitous "cloud". As this evolution gains pace there is an increasing demand for client-side tool support of the sort commonly enjoyed by "enterprise" programmers, working in more easily analysed languages such as Java. This thesis makes use of recent developments in program reasoning using context logic to provide the first formal, compositional specification for the Fundamental Interfaces of DOM Core Level 1. It presents both a big-step operational semantics for the necessary operations of the library and a context logic for reasoning about programs which use the library. Finally, it presents example programs that use the library and shows how context logic can be used to prove useful properties of those programs.005.3Imperial College Londonhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.537244http://hdl.handle.net/10044/1/7000Electronic Thesis or Dissertation |
collection |
NDLTD |
sources |
NDLTD |
topic |
005.3 |
spellingShingle |
005.3 Smith, Gareth David Local reasoning about Web programs |
description |
Since 1990, the world wide web has evolved from a static collection of reference pages to a dynamic programming and application-hosting environment. At the core of this evolution is the programming language JavaScript and the XML update library "DOM". Every modern web browser contains a DOM implementation which allows JavaScript programs to read and alter the web page that the user is currently viewing. JavaScript and DOM are extremely successful, and this success may be in part due to their highly dynamic and tightly integrated nature. However, this very nature hinders formal program analysis and tool development. Even the implementation independent specification that defines DOM is largely written in the English language, and not using any formal system. While client-side web programming was once a simple discipline of form validation and interface trickery, it is fast becoming a far more serious business encompassing application development for the emerging ubiquitous "cloud". As this evolution gains pace there is an increasing demand for client-side tool support of the sort commonly enjoyed by "enterprise" programmers, working in more easily analysed languages such as Java. This thesis makes use of recent developments in program reasoning using context logic to provide the first formal, compositional specification for the Fundamental Interfaces of DOM Core Level 1. It presents both a big-step operational semantics for the necessary operations of the library and a context logic for reasoning about programs which use the library. Finally, it presents example programs that use the library and shows how context logic can be used to prove useful properties of those programs. |
author2 |
Gardner, Philippa ; Drossopoulou, Sophia |
author_facet |
Gardner, Philippa ; Drossopoulou, Sophia Smith, Gareth David |
author |
Smith, Gareth David |
author_sort |
Smith, Gareth David |
title |
Local reasoning about Web programs |
title_short |
Local reasoning about Web programs |
title_full |
Local reasoning about Web programs |
title_fullStr |
Local reasoning about Web programs |
title_full_unstemmed |
Local reasoning about Web programs |
title_sort |
local reasoning about web programs |
publisher |
Imperial College London |
publishDate |
2011 |
url |
http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.537244 |
work_keys_str_mv |
AT smithgarethdavid localreasoningaboutwebprograms |
_version_ |
1718521533020766208 |