Skip to main content

Towards a Notion of Coverage for Incomplete Program-Correctness Proofs

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation. Verification (ISoLA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11245))

Included in the following conference series:

Abstract

Deductive program verification can give high assurances for program correctness. But incomplete partial proofs do not provide any information as to what degree or with what probability the program is correct.

In this paper, we introduce the concept of state space coverage for partial proofs, which estimates to what degree the proof covers the state space and the possible inputs of the program. Thus, similar to testing, the degree of assurance grows with the effort invested in constructing a correctness proof. The concept brings together deductive verification techniques with runtime techniques used to empirically estimate the coverage. We have implemented a prototypical tool that uses test data to estimate the coverage of partial proofs constructed with 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 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

Notes

  1. 1.

    The semantics of \([\pi ]\varphi \) coincides with that of the weakest-liberal-precondition predicate transformer \( wlp (\pi , \varphi )\).

  2. 2.

    An instance of the rule or-intro-2 from the natural deduction calculus.

  3. 3.

    Since, in sequent calculus, rules are applied bottom-up, i.e., from the conclusion to the premiss, strengthening a goal corresponds to applying a top-to-bottom weakening rule. This may seem paradoxical, but it is not: top-to-bottom weakening is the same as bottom-to-top strengthening.

  4. 4.

    For example, the cut-rule in sequent calculus.

  5. 5.

    i.e., v does not have remainder 2 when dividing by 4.

References

  1. 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). https://doi.org/10.1007/978-3-319-49812-6

  2. Ahrendt, W., Chimento, J.M., Pace, G.J., Schneider, G.: Verifying data- and control-oriented properties combining static and runtime verification: theory and tools. Form. Methods Syst. Des. 51(1), 200–265 (2017)

    Article  Google Scholar 

  3. Ahrendt, W., Gladisch, C., Herda, M.: Proof-based test case generation. In: Ahrendt et al. [1], Chap. 12, pp. 415–451. https://doi.org/10.1007/978-3-319-49812-6

  4. Dwyer, M.B., Filieri, A., Geldenhuys, J., Gerrard, M., Păsăreanu, C.S., Visser, W.: Probabilistic program analysis. In: Cunha, J., Fernandes, J.P., Lämmel, R., Saraiva, J., Zaytsev, V. (eds.) GTTSE 2015. LNCS, vol. 10223, pp. 1–25. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-60074-1_1

    Chapter  Google Scholar 

  5. Gentzen, G.: Untersuchungen über das logische Schließen. Mathematische Zeitschrift 39 176–210, 405–431 (1935)

    Google Scholar 

  6. Grindal, M., Offutt, J., Andler, S.F.: Combination testing strategies: a survey. Softw. Test. Verif. Reliab. 15(3), 167–199 (2005). https://doi.org/10.1002/stvr.319

    Article  Google Scholar 

  7. Harel, D., Kozen, D., Tiuryn, J.: Dynamic logic. SIGACT News 32(1), 66–69 (2001). https://doi.org/10.1145/568438.568456

    Article  MATH  Google Scholar 

  8. Kobischke, S.: Sampling-based Execution Coverage Estimation for Partially Proved Java Program Specifications. Master’s thesis, Karlsruhe Institute of Technology (2018)

    Google Scholar 

  9. Leavens, G.T., et al.: JML Reference Manual, draft Revision 2344, 31 May 2013

    Google Scholar 

  10. ben Nasr Omri, F.: Weighted Statistical Testing based on Active Learning and Formal Verification Techniques for Software Reliability Assessment. Ph.D. thesis, Karlsruhe Institute of Technology (2015). http://digbib.ubka.uni-karlsruhe.de/volltexte/1000050941

  11. Wilson, E.B.: Probable inference, the law of succession, and statistical inference. J. Am. Stat. Assoc. 22(158), 209–212 (1927). https://doi.org/10.1080/01621459.1927.10502953

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mattias Ulbrich .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Beckert, B., Herda, M., Kobischke, S., Ulbrich, M. (2018). Towards a Notion of Coverage for Incomplete Program-Correctness Proofs. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Verification. ISoLA 2018. Lecture Notes in Computer Science(), vol 11245. Springer, Cham. https://doi.org/10.1007/978-3-030-03421-4_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03421-4_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-03420-7

  • Online ISBN: 978-3-030-03421-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics