Doorgaan naar hoofdnavigatie Doorgaan naar zoeken Ga verder naar hoofdinhoud

Re-CorC-ing KeY: Correct-by-Construction Software Development Based on KeY

  • Tabea Bordis
  • , Loek Cleophas
  • , Alexander Kittelmann
  • , Tobias Runge
  • , Ina Schaefer
  • , Bruce W. Watson

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

Samenvatting

Deductive program verification is a post-hoc quality assurance technique following the design-by-contract paradigm where correctness of the program is proven only after it was written. Contrary, correctness-by-construction (CbC) is an incremental program construction technique. Starting with the functional specification, the program’s correctness is guaranteed by application of a small set of refinement rules. Even though CbC is supposed to lead to code with a low defect rate and improve the traceability of errors, it is not widespread. One of the main reasons is insufficient tool support which we addressed with our tool CorC. CorC provides support for CbC-based program construction with the KeY program verifier as backend prover for checking correctness of refinement rule applications. However, CorC was limited to constructing single method bodies restricting its applicability. In this work, we introduce and discuss CorC 2.0, which extends CorC ’s programming model with objects as used in object-oriented programming. We integrate CorC into a development process that allows to use post-hoc verification and CbC interchangeably to construct correct programs, and scale the applicability of CbC on the architectural level in our tool extension ArchiCorC. We developed three object-oriented case studies and evaluated the verification effort and the usability of CorC in comparison to post-hoc verification.

Originele taal-2Engels
TitelThe Logic of Software. A Tasting Menu of Formal Methods
SubtitelEssays Dedicated to Reiner Hähnle on the Occasion of His 60th Birthday
RedacteurenWolfgang Ahrendt, Bernhard Beckert, Richard Bubel, Einar Broch Johnsen
UitgeverijSpringer
Pagina's80-104
Aantal pagina's25
ISBN van elektronische versie978-3-031-08166-8
ISBN van geprinte versie978-3-031-08165-1
DOI's
StatusGepubliceerd - 2022

Publicatie series

NaamLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13360 LNCS
ISSN van geprinte versie0302-9743
ISSN van elektronische versie1611-3349

Bibliografische nota

Publisher Copyright:
© 2022, Springer Nature Switzerland AG.

Vingerafdruk

Duik in de onderzoeksthema's van 'Re-CorC-ing KeY: Correct-by-Construction Software Development Based on KeY'. Samen vormen ze een unieke vingerafdruk.

Citeer dit