Tabea Bordis

dblp:257/9833 · DBLP profile ↗
← Back
6ranked-venue papers
2as first author
5since 2021 · last 2025
0009-0003-2886-0862ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 2 first-author · 4 since 2021Theory of computation · 2 · 1 first-author · 2 since 2021Computer networks · 1 · 1 since 2021
YearPublicationVenuePosition
2025 Scaling Information Flow Control By-Construction to Component-Based Software Architectures
Rasmus C. Rønneberg, Tabea Bordis, Christopher Gerking, Asmae Heydari Tabar, Ina Schaefer
FORTE2
2024 Free Facts: An Alternative to Inefficient Axioms in Dafny
abstract
Abstract Formal software verification relies on properties of functions and built-in operators. Unless these properties are handled directly by decision procedures, an automated verifier includes them in verification conditions by supplying them as universally quantified axioms or theorems. The use of quantifiers sometimes leads to bad performance, especially if automation causes the quantifiers to be instantiated many times. This paper proposes free facts as an alternative to some axioms. A free fact is a pre-instantiated axiom that is generated alongside the formulas in a verification condition that can benefit from the facts. Replacing an axiom with free facts thus reduces the number of quantifiers in verification conditions. Free facts are statically triggered by syntactic occurrences of certain patterns in the proof terms. This is less powerful than the dynamically triggered patterns used during proof construction. However, the paper shows that free facts perform well in practice.
Tabea Bordis, K. Rustan M. Leino
FM (1)1
2024 Towards AI-Assisted Correctness-by-Construction Software Development
Maximilian Kodetzki, Tabea Bordis, Michael Kirsten, Ina Schaefer
ISoLA (4)2
2023 Flexible Correct-by-Construction Programming
abstract
Correctness-by-Construction (CbC) is an incremental program construction process to construct functionally correct programs. The programs are constructed stepwise 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 predefined refinement rules of fixed granularity which are additional rules on top of the programming language. Each refinement rule introduces a specific programming statement and developers cannot depart from these rules to construct programs. CbC allows to develop software in a structured and incremental way to ensure correctness, but the limited flexibility is a disadvantage of CbC. In this work, we compare classic CbC with CbC-Block and TraitCbC. Both approaches CbC-Block and TraitCbC, are related to CbC, but they have new language constructs that enable a more flexible software construction approach. We provide for both approaches a programming guideline, which similar to CbC, leads to well-structured programs. CbC-Block extends CbC by adding a refinement rule to insert any block of statements. Therefore, we introduce CbC-Block as an extension of CbC. TraitCbC implements correctness-by-construction on the basis of traits with specified methods. We formally introduce TraitCbC and prove soundness of the construction strategy. All three development approaches are qualitatively compared regarding their programming constructs, tool support, and usability to assess which is best suited for certain tasks and developers.
Tobias Runge, Tabea Bordis, Alex Potanin, Thomas Thüm, Ina Schaefer
Log. Methods Comput. Sci.2
2022 Runtime Verification of Correct-by-Construction Driving Maneuvers
Alexander Kittelmann, Tobias Runge, Tabea Bordis, Ina Schaefer
ISoLA (1)3
2020 Correctness-by-construction for feature-oriented software product lines
abstract
Software product lines are increasingly used to handle the growing demand of custom-tailored software variants. They provide systematic reuse of software paired with variability mechanisms in the code to implement whole product families rather than single software products. A common domain of application for product lines are safety-critical systems, which require behavioral correctness to avoid dangerous situations in-field. While most approaches concentrate on post-hoc verification for product lines, we argue that a stepwise approach to create correct programs may be beneficial for developers to manage the growing variability. Correctness-by-construction is such a stepwise approach to create programs using a set of small, tractable refinement rules that guarantee the correctness of the program with regard to its specification. In this paper, we propose the first approach to develop correct-by-construction software product lines using feature-oriented programming. First, we extend correctness-by-construction by two refinement rules for variation points in the code. Second, we give a proof for the soundness of the proposed rules. Third, we implement our technique in a tool called VarCorC and show the applicability of the tool by conducting two case studies.
Tabea Bordis, Tobias Runge, Ina Schaefer
GPCE1