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 ...
- 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 ...
- 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-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 ...
- 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 ...
- ArticleMarch 2021
Goblint: Thread-Modular Abstract Interpretation Using Side-Effecting Constraints: (Competition Contribution)
Tools and Algorithms for the Construction and Analysis of SystemsPages 438–442https://doi.org/10.1007/978-3-030-72013-1_28AbstractGoblint is a static analysis framework for C programs specializing in data race analysis. It relies on thread-modular abstract interpretation where thread interferences are accounted for by means of flow-insensitive global invariants.