Advertisement

Formalizing (Web) Standards

An Application of Test and Proof
  • Achim D. Brucker
  • Michael Herzberg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10889)

Abstract

Most popular technologies are based on informal or semi-formal 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 implementations, 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 extent does the formal model comply with the standard and, second, to what extent does a concrete implementation comply with the formal model and the assumptions made during the verification of certain properties?

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 

References

  1. 1.
    Feo-Arenis, S., Westphal, B., Dietsch, D., Muñiz, M., Andisha, A.S., Podelski, A.: Ready for testing: ensuring conformance to industrial standards through formal verification. Formal Asp. Comput. 28(3), 499–527 (2016).  https://doi.org/10.1007/s00165-016-0365-3MathSciNetCrossRefGoogle Scholar
  2. 2.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-662-07964-5CrossRefzbMATHGoogle Scholar
  3. 3.
    Brucker, A.D., Herzberg, M.: The core DOM. Archive of Formal Proofs (2018, submitted). http://www.isa-afp.org/entries/Core_DOM.shtml. Formal proof development
  4. 4.
    Brucker, A.D., Herzberg, M.: A formal semantics of the core DOM in Isabelle/HOL. In: WWW 2018 Companion: The 2018 Web Conference Companion. ACM Press (2018).  https://doi.org/10.1145/3184558.3185980
  5. 5.
    Brucker, A.D., Wolff, B.: HOL-TestGen: an interactive test-case generation framework. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 417–420. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-00593-0_28CrossRefGoogle Scholar
  6. 6.
    Brucker, A.D., Wolff, B.: On theorem prover-based testing. Formal Aspects Comput. 25(5), 683–721 (2013).  https://doi.org/10.1007/s00165-012-0222-yMathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Horl, J., Aichernig, B.K.: Validating voice communication requirements using lightweight formal methods. IEEE Softw. 17(3), 21–27 (2000).  https://doi.org/10.1109/52.896246CrossRefGoogle Scholar
  8. 8.
    Kristoffersen, F., Walter, T.: TTCN: towards a formal semantics and validation of test suites. Comput. Netw. ISDN Syst. 29(1), 15–47 (1996).  https://doi.org/10.1016/S0169-7552(96)00016-5CrossRefGoogle Scholar
  9. 9.
    Nipkow, T., Paulson, T.C., Wenzel, M.: Isabelle/HOL—A Proof Assistantfor Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45949-9CrossRefzbMATHGoogle Scholar
  10. 10.
    W3C: W3C DOM4 (2015). https://www.w3.org/TR/dom/
  11. 11.
  12. 12.
    W3C: Web platform test: DOM. https://github.com/w3c/web-platform-tests/tree/master/dom. Accessed 10 Nov 2017
  13. 13.
    WHATWG: DOM - living standard (2017). https://dom.spec.whatwg.org/commit-snapshots/6253e53af2fbfaa6d25ad09fd54280d8083b2a97/. Accessed 24 Mar 2017

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceThe University of SheffieldSheffieldUK

Personalised recommendations