Automated Reasoning for Web Page Layout

dc.contributor.advisorErnst, Michael D
dc.contributor.advisorTatlock, Zachary
dc.contributor.authorPanchekha, Pavel
dc.date.accessioned2019-08-14T22:31:40Z
dc.date.available2019-08-14T22:31:40Z
dc.date.issued2019-08-14
dc.date.submitted2019
dc.descriptionThesis (Ph.D.)--University of Washington, 2019
dc.description.abstractWeb pages define their appearance using Cascading Style Sheets. However, the CSS language's quirks and subtleties make it difficult for designers to write, debug, and test CSS to implement their designs. Additionally, web pages can be laid out by different browsers, at varying screen sizes, and by users with different font or color preferences. Understanding all the ways a web page can be laid out, and ensuring that all these layouts are correct, is a persistent challenge. Yet meeting this challenge is essential to ensure that a web page is accessible, usable, and attractive for all users. Tools to verify such web page layout properties across a range of possible layouts would lighten the testing burden for web developers. We develop a formal verification paradigm for layout properties to support such tools. To formally verify a layout property, that property is first expressed in Visual Logic, a concise language for describing geometric properties of web page layouts. Visual Logic properties are true or false as a consequence of how a browser lays out a given page; we formalize a substantial fragment of browser layout in the Cassius framework. This formalization allows automated reasoning about CSS files and thus enables new tools that reason about the possible layouts of a web page. One such tool, VizAssert, automatically verifies that layout properties, expressed in Visual Logic, are true across a range of screen size or user configurations. Since VizAssert operates on whole web pages, it is difficult to scale to large web pages. However, large web pages are frequently composed of smaller, independent pieces. Reasoning about large pages should leverage this independence; to this end, the Troika proof assistant allows decomposing a large web page into many components and verifying those components independently. These tools provide a demonstrate formal verification for layout properties and sketch a path toward provably correct web design.
dc.embargo.termsOpen Access
dc.format.mimetypeapplication/pdf
dc.identifier.otherPanchekha_washington_0250E_19854.pdf
dc.identifier.urihttp://hdl.handle.net/1773/44148
dc.language.isoen_US
dc.rightsCC BY-SA
dc.subjectAccessibility
dc.subjectAutomated reasoning
dc.subjectSMT
dc.subjectWeb design
dc.subjectComputer science
dc.subject.otherComputer science and engineering
dc.titleAutomated Reasoning for Web Page Layout
dc.typeThesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Panchekha_washington_0250E_19854.pdf
Size:
5.59 MB
Format:
Adobe Portable Document Format