
By Achim D. Brucker and Michael Herzberg.
Most popular technologies are based on informal or semiformal standards that lack a rigid formal semantics. Typical examples include web technologies such as the DOM or HTML, which are defined by the Web Hypertext Application Technology Working Group (WHATWG) and the World Wide Web Consortium (W3C). While there might be API specifications and test cases meant to assert the compliance of a certain implementation, the actual standard is rarely accompanied by a formal model that would lend itself for, e.g., verifying the security or safety properties of real systems.
Even when such a formalization of a standard exists, two important questions arise: first, to what extend does the formal model comply to the standard and, second, to what extend does the implementation comply to the formal model and the assumptions made during the verification? In this paper, we present an approach that brings all three involved artifacts - the (semi-)formal standard, the formalization of the standard, and the implementations - closer together by combining verification, symbolic execution, and specification based testing.
Keywords: Standard Compliance, Compliance Tests, DOM
Supplementary material: [ Slides ]
Please cite this work as follows: A. D. Brucker and M. Herzberg, “Formalizing (web) standards: An application of test and proof,” in TAP 2018: Tests and proofs, C. Dubois and B. Wolff, Eds. Heidelberg: Springer-Verlag, 2018, pp. 159–166. doi: 10.1007/978-3-319-92994-1_9. Author copy: https://logicalhacking.com/publications/brucker.ea-standard-compliance-testing-2018/
@InCollection{ brucker.ea:standard-compliance-testing:2018,
abstract = {Most popular technologies are based on informal or semiformal
standards that lack a rigid formal semantics. Typical examples
include web technologies such as the DOM or HTML, which are
defined by the Web Hypertext Application Technology Working
Group (WHATWG) and the World Wide Web Consortium (W3C). While
there might be API specifications and test cases meant to
assert the compliance of a certain implementation, the actual
standard is rarely accompanied by a formal model that would
lend itself for, e.g., verifying the security or safety
properties of real systems.
Even when such a formalization of a standard exists, two
important questions arise: first, to what extend does the
formal model comply to the standard and, second, to what
extend does the implementation comply to the formal model and
the assumptions made during the verification? In this paper,
we present an approach that brings all three involved
artifacts - the (semi-)formal standard, the formalization of
the standard, and the implementations - closer together by
combining verification, symbolic execution, and specification
based testing.},keywords = {Standard Compliance, Compliance Tests, DOM},
location = {Toulouse, France},
author = {Achim D. Brucker and Michael Herzberg},
booktitle = {{TAP} 2018: Tests And Proofs},
language = {USenglish},
publisher = {Springer-Verlag },
address = {Heidelberg },
series = {Lecture Notes in Computer Science },
number = {10889},
editor = {Cathrine Dubois and Burkhart Wolff},
title = {Formalizing (Web) Standards: An Application of Test and
Proof},areas = {formal methods, software engineering},
year = {2018},
doi = {10.1007/978-3-319-92994-1_9},
pages = {159--166},
isbn = {978-3-642-38915-3},
note = {Author copy: \url{https://logicalhacking.com/publications/brucker.ea-standard-compliance-testing-2018/}},
pdf = {https://logicalhacking.com/publications/brucker.ea-standard-compliance-testing-2018/brucker.ea-standard-compliance-testing-2018.pdf},
}