Skip to main content

Formalizing (Web) Standards

An Application of Test and Proof

  • Conference paper
  • First Online:
Tests and Proofs (TAP 2018)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  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-3

    Article  MathSciNet  Google Scholar 

  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-5

    Book  MATH  Google Scholar 

  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. 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. 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_28

    Chapter  Google Scholar 

  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-y

    Article  MathSciNet  MATH  Google Scholar 

  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.896246

    Article  Google Scholar 

  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-5

    Article  Google Scholar 

  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-9

    Book  MATH  Google Scholar 

  10. W3C: W3C DOM4 (2015). https://www.w3.org/TR/dom/

  11. W3C: Web IDL (2017). https://heycam.github.io/webidl/

  12. W3C: Web platform test: DOM. https://github.com/w3c/web-platform-tests/tree/master/dom. Accessed 10 Nov 2017

  13. WHATWG: DOM - living standard (2017). https://dom.spec.whatwg.org/commit-snapshots/6253e53af2fbfaa6d25ad09fd54280d8083b2a97/. Accessed 24 Mar 2017

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Achim D. Brucker .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Brucker, A.D., Herzberg, M. (2018). Formalizing (Web) Standards. In: Dubois, C., Wolff, B. (eds) Tests and Proofs. TAP 2018. Lecture Notes in Computer Science(), vol 10889. Springer, Cham. https://doi.org/10.1007/978-3-319-92994-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-92994-1_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-92993-4

  • Online ISBN: 978-3-319-92994-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics