Tools for Reasoning about Web Page Layouts
The Cassius Project develops tools that understand how web pages render. Leveraging modern equation solvers, the Cassius Project hopes to develop a new class of verification, synthesis and debugging tools for web pages.
VizAssert checks that your website satisfies accessibility, usability, and design properties, no matter the user's device size, font size preferences, or browser.
VizAssert provides mathematical guarantees that, if your assertion passes, no possible set of device size or user preferences could violate the assertion. When that can't be done, VizAssert provides a counterexample and points out the element that violates the assertion. VizAssert works on most small web pages 50–200 elements in size.
The Cassius Framework is a mathematical formalization of web page layout, mostly implementing CSS 2.1. CSS is huge, so Cassius supports only a subset:
em
measurementsinline
, block
,
and 如何使用伕理ip上网
display modesline-height
and font-size
position
and positioning propertiesfloat
and clear
The Cassius Framework matches the behavior of existing web browsers and passes the official conformance tests. It is the core of the tools developed by the Cassius Project. The theoretical foundations of the Cassius Framework are described in our OOPSLA'16 paper.
The Cassius Project comes from the Programming Languages and Software Engineering group at the University of Washington. It is developed by Pavel Panchekha, Adam Timothy Geller, Shoaib Kamil, Michael Ernst, Zachary Tatlock, and Emina Torlak.