Traits: Correctness-by-Construction for Free
| dc.contributor.author | Runge, Tobias | en |
| dc.contributor.author | Potanin, Alex | en |
| dc.contributor.author | Thüm, Thomas | en |
| dc.contributor.author | Schaefer, Ina | en |
| dc.coverage.spatial | Lucca, Italy | en |
| dc.date.accessioned | 2026-03-01T17:43:30Z | |
| dc.date.available | 2026-03-01T17:43:30Z | |
| dc.date.issued | 2022-06-12 | en |
| dc.description.abstract | We demonstrate that traits are a natural way to support correctness-by-construction (CbC) in an existing programming language in the presence of traditional post-hoc verification (PhV). With Correctness-by-Construction, programs are constructed incrementally along with a specification that is inherently guaranteed to be satisfied. CbC is complex to use without specialized tool support, since it needs a set of refinement rules of fixed granularity which are additional rules on top of the programming language. In this work, we propose TraitCbC, an incremental program construction procedure that implements correctness-by-construction on the basis of PhV by using traits. TraitCbC enables program construction by trait composition instead of refinement rules. It provides a programming guideline, which similar to CbC should lead to well-structured programs, and allows flexible reuse of verified program building blocks. We introduce TraitCbC formally and prove the soundness of our verification strategy. Additionally, we implement TraitCbC as a proof of concept. | en |
| dc.description.status | Peer-reviewed | en |
| dc.format.extent | 20 | en |
| dc.identifier.isbn | 978-3-031-08678-6 | en |
| dc.identifier.isbn | 978-3-031-08679-3 | en |
| dc.identifier.issn | 0302-9743 | en |
| dc.identifier.other | dblp:conf/forte/RungePTS22 | en |
| dc.identifier.other | ORCID:/0000-0002-4242-2725/work/206894449 | en |
| dc.identifier.scopus | 85132975396 | en |
| dc.identifier.uri | https://hdl.handle.net/1885/733806865 | |
| dc.language.iso | en | en |
| dc.publisher | Springer Science+Business Media B.V. | en |
| dc.relation.ispartof | Formal Techniques for Distributed Objects, Components, and Systems - 42nd IFIP WG 6.1 International Conference, FORTE 2022, Held as Part of the 17th International Federated Conference on Distributed Computing Techniques, DisCoTec 2022, Proceedings | en |
| dc.relation.ispartofseries | 42nd IFIPWG6.1 International Conference on Formal Techniques for Distributed Objects, Components, and Systems, FORTE 2022 Held as Part of the 17th International Federated Conference on Distributed Computing Techniques, DisCoTec 2022 | en |
| dc.relation.ispartofseries | Lecture Notes in Computer Science | en |
| dc.rights | Publisher Copyright: © 2022, IFIP International Federation for Information Processing. | en |
| dc.title | Traits: Correctness-by-Construction for Free | en |
| dc.type | Conference paper | en |
| dspace.entity.type | Publication | en |
| local.bibliographicCitation.lastpage | 150 | en |
| local.bibliographicCitation.startpage | 131 | en |
| local.contributor.affiliation | Runge, Tobias; Technical University of Braunschweig | en |
| local.contributor.affiliation | Potanin, Alex; School of Computing, ANU College of Systems and Society, The Australian National University | en |
| local.contributor.affiliation | Thüm, Thomas; Ulm University | en |
| local.contributor.affiliation | Schaefer, Ina; Technical University of Braunschweig | en |
| local.identifier.ariespublication | a383154xPUB37023 | en |
| local.identifier.doi | 10.1007/978-3-031-08679-3_9 | en |
| local.identifier.essn | 1611-3349 | en |
| local.identifier.pure | 4c85036f-6900-4175-94d8-a689a525657b | en |
| local.identifier.url | https://www.scopus.com/pages/publications/85132975396 | en |
| local.type.status | Published | en |