Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleJanuary 2025
Correctness Witnesses for Concurrent Programs: Bridging the Semantic Divide with Ghosts
- Julian Erhard,
- Manuel Bentele,
- Matthias Heizmann,
- Dominik Klumpp,
- Simmo Saan,
- Frank Schüssele,
- Michael Schwarz,
- Helmut Seidl,
- Sarah Tilscher,
- Vesal Vojdani
Verification, Model Checking, and Abstract InterpretationPages 74–100https://doi.org/10.1007/978-3-031-82700-6_4AbstractStatic analyzers are typically complex tools and thus prone to contain bugs themselves. To increase the trust in the verdict of such tools, witnesses encode key reasoning steps underlying the verdict in an exchangeable format, enabling independent ...
- research-articleOctober 2024
C-2PO: A Weakly Relational Pointer Domain: “These Are Not the Memory Cells You Are Looking For”
NSAD '24: Proceedings of the 10th ACM SIGPLAN International Workshop on Numerical and Symbolic Abstract DomainsPages 2–9https://doi.org/10.1145/3689609.3689994Pointer analysis is foundational for statically analyzing real-world programs. We present C-2PO — a weakly relational domain for C programs, which tracks must-equalities and -disequalities between pointer expressions. This domain captures address ...
- research-articleAugust 2024
When long jumps fall short: control-flow tracking and misuse detection for nonlocal jumps in C: Extended version
International Journal on Software Tools for Technology Transfer (STTT) (STTT), Volume 26, Issue 5Pages 589–605https://doi.org/10.1007/s10009-024-00764-zAbstractThe C programming language offers setjmp/ longjmp as a mechanism for nonlocal control flow. This mechanism has complicated semantics. As most developers do not encounter it day-to-day, they may be unfamiliar with all its intricacies – leading to ...
- rapid-communicationAugust 2024
Prenex universal first-order safety properties
AbstractWe show that every prenex universal syntactic first-order safety property can be compiled into a universal invariant of a first-order transition system using quantifier-free substitutions only. We apply this insight to prove that every such ...
Highlights- FO linear temporal logic allows to specify temporal properties of parametric systems given by FO transition systems.
- For syntactic safety formulas in prenex form with universal quantifiers only, we show how to reduce checking safety of ...
- ArticleJuly 2024
The Top-Down Solver Verified: Building Confidence in Static Analyzers
AbstractThe top-down solver (TD) is a local fixpoint algorithm for arbitrary equation systems. It considers the right-hand sides as black boxes and detects dependencies between unknowns on the fly—features that significantly increase both its usability ...
-
- research-articleJune 2024
When to Stop Going Down the Rabbit Hole: Taming Context-Sensitivity on the Fly
SOAP 2024: Proceedings of the 13th ACM SIGPLAN International Workshop on the State Of the Art in Program AnalysisPages 35–44https://doi.org/10.1145/3652588.3663321Context-sensitive analysis of programs containing recursive procedures may be expensive, in particular, when using expressive domains, rendering the set of possible contexts large or even infinite. Here, we present a general framework for context-...
- research-articleJune 2024
Non-numerical weakly relational domains
International Journal on Software Tools for Technology Transfer (STTT) (STTT), Volume 26, Issue 4Pages 479–494https://doi.org/10.1007/s10009-024-00755-0AbstractThe weakly relational domain of Octagons offers a decent compromise between precision and efficiency for numerical properties. Here, we are concerned with the construction of non-numerical relational domains. We provide a general construction of ...
- ArticleApril 2024
Goblint: Abstract Interpretation for Memory Safety and Termination: (Competition Contribution)
- Simmo Saan,
- Julian Erhard,
- Michael Schwarz,
- Stanimir Bozhilov,
- Karoliine Holter,
- Sarah Tilscher,
- Vesal Vojdani,
- Helmut Seidl
Tools and Algorithms for the Construction and Analysis of SystemsPages 381–386https://doi.org/10.1007/978-3-031-57256-2_25AbstractGoblint is an abstract interpreter of C programs, focusing on the analysis of multi-threaded code. It is equipped with a variety of abstract domains, as well as analyses which allow it to reason about an array of program properties in a highly ...
- ArticleApril 2024
Goblint Validator: Correctness Witness Validation by Abstract Interpretation: (Competition Contribution)
- Simmo Saan,
- Julian Erhard,
- Michael Schwarz,
- Stanimir Bozhilov,
- Karoliine Holter,
- Sarah Tilscher,
- Vesal Vojdani,
- Helmut Seidl
Tools and Algorithms for the Construction and Analysis of SystemsPages 335–340https://doi.org/10.1007/978-3-031-57256-2_17AbstractGoblint is an abstract interpretation framework for C programs with a specialty in concurrency. Using a novel approach, we turn it into a validator of YAML correctness witnesses for all SV-COMP categories. We describe its results at SV-COMP 2024 ...
- rapid-communicationFebruary 2024
Checking in polynomial time whether or not a regular tree language is deterministic top-down
AbstractIt is well known that for a given bottom-up tree automaton it can be decided whether or not an equivalent deterministic top-down tree automaton exists. Recently it was claimed that such a decision can be carried out in polynomial time (Leupold ...
Highlights- A polynomial time algorithm is given that checks if a regular tree language is deterministic top-down.
- The algorithm searches for a “conflict”, which is a novel property on three states of the given automaton.
- The existence of ...
- ArticleJanuary 2024
Correctness Witness Validation by Abstract Interpretation
Verification, Model Checking, and Abstract InterpretationPages 74–97https://doi.org/10.1007/978-3-031-50524-9_4AbstractWitnesses record automated program analysis results and make them exchangeable. To validate correctness witnesses through abstract interpretation, we introduce a novel abstract operation unassume. This operator incorporates witness invariants into ...
- research-articleJanuary 2024
Functionality of compositions of top-down tree transducers is decidable
AbstractWe prove that functionality of compositions of top-down tree transducers is decidable by reducing the problem to the functionality of one top-down tree transducer with look-ahead.
- ArticleOctober 2023
Octagons Revisited: Elegant Proofs and Simplified Algorithms
AbstractWeakly relational domains have enjoyed tremendous success in the area of program analysis, since they offer a decent compromise between precision and efficiency. Octagons, in particular, have widely been studied to obtain efficient algorithms ...
- research-articleJune 2023
When Long Jumps Fall Short: Control-Flow Tracking and Misuse Detection for Non-local Jumps in C
SOAP 2023: Proceedings of the 12th ACM SIGPLAN International Workshop on the State Of the Art in Program AnalysisPages 20–26https://doi.org/10.1145/3589250.3596140The C programming language offers setjmp/longjmp as a mechanism for non-local control flow. This mechanism has complicated semantics. As most developers do not encounter it day-to-day, they may be unfamiliar with all its intricacies – leading to ...
- ArticleApril 2023
Goblint: Autotuning Thread-Modular Abstract Interpretation: (Competition Contribution)
Tools and Algorithms for the Construction and Analysis of SystemsPages 547–552https://doi.org/10.1007/978-3-031-30820-8_34AbstractThe static analyzer Goblint is dedicated to the analysis of multi-threaded C programs by abstract interpretation. It provides multiple techniques for increasing analysis precision, e.g., configurable context-sensitivity and a wide range of ...
- ArticleApril 2023
Clustered Relational Thread-Modular Abstract Interpretation with Local Traces
AbstractWe construct novel thread-modular analyses that track relational information for potentially overlapping clusters of global variables – given that they are protected by common mutexes. We provide a framework to systematically increase the ...
- rapid-communicationFebruary 2023
Deciding origin equivalence of weakly self-nesting macro tree transducers
Highlights- Deciding Origin Equivalence of Weakly Self-Nesting Macro Tree Transducers Sebastian Maneth, Helmut Seidl.
We consider a notion of origin for deterministic macro tree transducers with look-ahead which records for each output node, the corresponding input node for which a rule-application generated that output node. With respect to this ...
- ArticleOctober 2022
How to Decide Functionality of Compositions of Top-Down Tree Transducers
AbstractWe prove that functionality of compositions of top-down tree transducers is decidable by reducing the problem to the functionality of one top-down tree transducer with look-ahead.