Skip to main content

An Interaction Concept for Program Verification Systems with Explicit Proof Object

  • Conference paper
  • First Online:
Hardware and Software: Verification and Testing (HVC 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10629))

Included in the following conference series:

Abstract

Deductive program verification is a difficult task: in general, user guidance is required to control the proof search and construction. Providing the right guiding information is challenging for users and usually requires several reiterations. Supporting the user in this process can considerably reduce the effort of program verification.

In this paper, we present an interaction concept for deductive program verification systems that combines point-and-click interaction with the use of a proof scripting language. Our contribution is twofold: Firstly, we present a concept for a flexible and concise proof scripting language tailored to the needs of program verification. Secondly, we explore the correspondences between program debugging and proof debugging and introduce a concept for analysing failed proof attempts which leverages well-established concepts from software debugging. We illustrate our concepts on examples – including small Java programs with non-trivial specifications – using an early prototype implementation of our interaction concepts that is built on top of the program verification system KeY.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hähnle, R., Huisman, M.: Deductive software verification: From pen-and-paper proofs to industrial tools. LNCS, vol. 10000 (2017)

    Google Scholar 

  2. Ahrendt, W., Beckert, B., Bubel, R., Hähnle, R., Schmitt, P.H., Ulbrich, M., eds.: Deductive Software Verification - The KeY Book: From Theory to Practice. LNCS, vol. 10001. Springer, Cham (2016)

    Google Scholar 

  3. Beckert, B., Grebing, S., Böhl, F.: How to put usability into focus: Using focus groups to evaluate the usability of interactive theorem provers. In: Benzmüller, C., Woltzenlogel Paleo, B. (eds.): UITP 2014. EPTCS , vol. 167, pp. 4–13 (July 2014)

    Google Scholar 

  4. Beckert, B., Grebing, S., Böhl, F.: A usability evaluation of interactive theorem provers using focus groups. In: Canal, C., Idani, A. (eds.) SEFM 2014. LNCS, vol. 8938, pp. 3–19. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-15201-1_1

    Google Scholar 

  5. Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for Java. SIGSOFT/SEN 31(3), 1–38 (2006)

    Google Scholar 

  6. Nipkow, T., Paulson, L.C., Wenzel, M. (eds.) Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer (2002)

    Google Scholar 

  7. Bertot, Y., Castran, P.: Interactive Theorem Proving and Program Development: Coq’Art The Calculus of Inductive Constructions, 1st edn. Texts in Theoretical Computer Science An EATCS Series. Springer-Verlag, Berlin Heidelberg (2004)

    Google Scholar 

  8. Wenzel, M.: Isar — A generic interpretative approach to readable formal proof documents. In: Bertot, Y., Dowek, G., Théry, L., Hirschowitz, A., Paulin, C. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 167–183. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48256-3_12

    Chapter  Google Scholar 

  9. Matichuk, D., Murray, T., Wenzel, M.: Eisbach: A proof method language for isabelle. Journal of Automated Reasoning 56(3), 261–282 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  10. Ziliani, B., Dreyer, D., Krishnaswami, N.R., Nanevski, A., Vafeiadis, V.: Mtac: A monad for typed tactic programming in coq. SIGPLAN Not. 48(9), 87–100 (2013)

    Article  MATH  Google Scholar 

  11. Obua, S., Scott, P., Fleuriot, J.: ProofScript: Proof scripting for the masses. In: Sampaio, A., Wang, F. (eds.) ICTAC 2016. LNCS, vol. 9965, pp. 333–348. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46750-4_19

    Chapter  Google Scholar 

  12. Lin, Y., Le Bras, P., Grov, G.: Developing and debugging proof strategies by tinkering. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 573–579. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49674-9_37

    Chapter  Google Scholar 

  13. Hentschel, M.: Integrating Symbolic Execution, Debugging and Verification. PhD thesis, Technische Universität Darmstadt (January 2016)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sarah Grebing .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Beckert, B., Grebing, S., Ulbrich, M. (2017). An Interaction Concept for Program Verification Systems with Explicit Proof Object. In: Strichman, O., Tzoref-Brill, R. (eds) Hardware and Software: Verification and Testing. HVC 2017. Lecture Notes in Computer Science(), vol 10629. Springer, Cham. https://doi.org/10.1007/978-3-319-70389-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-70389-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-70388-6

  • Online ISBN: 978-3-319-70389-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics