Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- 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.
- ArticleOctober 2021
Improving Thread-Modular Abstract Interpretation
AbstractWe give thread-modular non-relational value analyses as abstractions of a local trace semantics. The semantics as well as the analyses are formulated by means of global invariants and side-effecting constraint systems. We show that a ...