Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleApril 2024
Ultimate TestGen: Test-Case Generation with Automata-based Software Model Checking (Competition Contribution)
Fundamental Approaches to Software EngineeringPages 326–330https://doi.org/10.1007/978-3-031-57259-3_20AbstractWe introduce Ultimate TestGen, a novel tool for automatic test-case generation. Like many other test-case generators, Ultimate TestGen builds on verification technology, i.e., it checks the (un)reachability of test goals and generates test cases ...
- ArticleApril 2024
Ultimate Automizer and the Abstraction of Bitwise Operations: (Competition Contribution)
- Frank Schüssele,
- Manuel Bentele,
- Daniel Dietsch,
- Matthias Heizmann,
- Xinyu Jiang,
- Dominik Klumpp,
- Andreas Podelski
Tools and Algorithms for the Construction and Analysis of SystemsPages 418–423https://doi.org/10.1007/978-3-031-57256-2_31AbstractThe verification of Ultimate Automizer works on an SMT-LIB-based model of a C program. If we choose an SMT-LIB theory of (mathematical) integers, the translation is not precise, because we overapproximate bitwise operations. In this paper we ...
- ArticleJanuary 2024
Petrification: Software Model Checking for Programs with Dynamic Thread Management
Verification, Model Checking, and Abstract InterpretationPages 3–25https://doi.org/10.1007/978-3-031-50521-8_1AbstractWe address the verification problem for concurrent program that dynamically create (fork) new threads or destroy (join) existing threads. We present a reduction to the verification problem for concurrent programs with a fixed number of threads. ...
- ArticleApril 2023
Ultimate Taipan and Race Detection in Ultimate: (Competition Contribution)
Tools and Algorithms for the Construction and Analysis of SystemsPages 582–587https://doi.org/10.1007/978-3-031-30820-8_40AbstractUltimate Taipan integrates trace abstraction with algebraic program analysis on path programs. Taipan supports data race checking in concurrent programs through a reduction to reachability checking. Though the subsequent verification is not tuned ...
- ArticleApril 2023
Ultimate Automizer and the CommuHash Normal Form: (Competition Contribution)
- Matthias Heizmann,
- Max Barth,
- Daniel Dietsch,
- Leonard Fichtner,
- Jochen Hoenicke,
- Dominik Klumpp,
- Mehdi Naouar,
- Tanja Schindler,
- Frank Schüssele,
- Andreas Podelski
Tools and Algorithms for the Construction and Analysis of SystemsPages 577–581https://doi.org/10.1007/978-3-031-30820-8_39AbstractThe verification approach of Ultimate Automizer utilizes SMT formulas. This paper presents techniques to keep the size of the formulas small. We focus especially on a normal form, called CommuHash normal form that was easy to implement and had a ...
-
Verification Witnesses
ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 31, Issue 4Article No.: 57, Pages 1–69https://doi.org/10.1145/3477579Over the last years, witness-based validation of verification results has become an established practice in software verification: An independent validator re-establishes verification results of a software verifier using verification witnesses, which are ...
- ArticleApril 2022
Ultimate GemCutter and the Axes of Generalization: (Competition Contribution)
- Dominik Klumpp,
- Daniel Dietsch,
- Matthias Heizmann,
- Frank Schüssele,
- Marcel Ebbinghaus,
- Azadeh Farzan,
- Andreas Podelski
Tools and Algorithms for the Construction and Analysis of SystemsPages 479–483https://doi.org/10.1007/978-3-030-99527-0_35AbstractUltimate GemCutter verifies concurrent programs using the CEGAR paradigm, by generalizing from spurious counterexample traces to larger sets of correct traces. We integrate classical CEGAR generalization with orthogonal generalization across ...
- ArticleMay 2021
Separating Map Variables in a Logic-Based Intermediate Verification Language
AbstractIn SMT solver based verification, the program to be verified is often given in an intermediate verification language such as Boogie. We present a program transformation that aims at splitting mathematical arrays (i.e., maps, which are typically ...
- ArticleJanuary 2021
Verification of Concurrent Programs Using Petri Net Unfoldings
Verification, Model Checking, and Abstract InterpretationPages 174–195https://doi.org/10.1007/978-3-030-67067-2_9AbstractGiven a verification problem for a concurrent program (with a fixed number of threads) over infinite data domains, we can construct a model checking problem for an abstraction of the concurrent program through a Petri net (a problem which can be ...
- research-articleSeptember 2020
The IBM zl5 high frequency mainframe branch predictor
ISCA '20: Proceedings of the ACM/IEEE 47th Annual International Symposium on Computer ArchitecturePages 27–39https://doi.org/10.1109/ISCA45697.2020.00014The design of the modern, enterprise-class IBM z15 branch predictor is described. Implemented as a multi-level look-ahead structure, the branch predictor is capable of predicting branch direction and target addresses, augmented with multiple auxiliary ...
- ArticleApril 2020
Ultimate Taipan with Symbolic Interpretation and Fluid Abstractions: (Competition Contribution)
Tools and Algorithms for the Construction and Analysis of SystemsPages 418–422https://doi.org/10.1007/978-3-030-45237-7_32AbstractUltimate Taipan is a software model checker that combines trace abstraction with abstract interpretation on path programs. In this year’s version, we replaced our abstract interpretation engine and now use a combination of multiple abstraction ...
- ArticleApril 2019
Semantic Fault Localization and Suspiciousness Ranking
Tools and Algorithms for the Construction and Analysis of SystemsPages 226–243https://doi.org/10.1007/978-3-030-17462-0_13AbstractStatic program analyzers are increasingly effective in checking correctness properties of programs and reporting any errors found, often in the form of error traces. However, developers still spend a significant amount of time on debugging. This ...
- ArticleJuly 2018
The Map Equality Domain
Verified Software. Theories, Tools, and ExperimentsPages 291–308https://doi.org/10.1007/978-3-030-03592-1_17AbstractWe present a method that allows us to infer expressive invariants for programs that manipulate arrays and, more generally, data that are modeled using maps (including the program memory which is modeled as a map over integer locations). The ...
- research-articleJune 2018
Advanced automata-based algorithms for program termination checking
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 135–150https://doi.org/10.1145/3192366.3192405In 2014, Heizmann et al. proposed a novel framework for program termination analysis. The analysis starts with a termination proof of a sample path. The path is generalized to a Büchi automaton (BA) whose language (by construction) represents a set of ...
Also Published in:
ACM SIGPLAN Notices: Volume 53 Issue 4 - research-articleAugust 2017
Craig vs. Newton in software model checking
ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software EngineeringPages 487–497https://doi.org/10.1145/3106237.3106307Ever since the seminal work on SLAM and BLAST, software model checking with counterexample-guided abstraction refinement (CEGAR) has been an active topic of research. The crucial procedure here is to analyze a sequence of program statements (the ...
- ArticleApril 2017
Ultimate Taipan: Trace Abstraction and Abstract Interpretation
- Marius Greitschus,
- Daniel Dietsch,
- Matthias Heizmann,
- Alexander Nutz,
- Claus Schätzle,
- Christian Schilling,
- Frank Schüssele,
- Andreas Podelski
Proceedings, Part II, of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 10206Pages 399–403https://doi.org/10.1007/978-3-662-54580-5_31Ultimate Taipan is a software model checker for C programs. It is based on a CEGAR variant, trace abstractionï ź[7], where program abstractions, counterexample selection and abstraction refinement are based on automata. Ultimate Taipan constructs path ...
- ArticleApril 2017
Ultimate Automizer with an On-Demand Construction of Floyd-Hoare Automata
- Matthias Heizmann,
- Yu-Wen Chen,
- Daniel Dietsch,
- Marius Greitschus,
- Alexander Nutz,
- Betim Musa,
- Claus Schätzle,
- Christian Schilling,
- Frank Schüssele,
- Andreas Podelski
Proceedings, Part II, of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 10206Pages 394–398https://doi.org/10.1007/978-3-662-54580-5_30Ultimate Automizer is a software verifier that implements an automata-based approach for the verification of safety and liveness properties. A central new feature that speeded up the abstraction refinement of the tool is an on-demand construction of ...
- ArticleApril 2017
Minimization of Visibly Pushdown Automata Using Partial Max-SAT
Proceedings, Part I, of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 10205Pages 461–478https://doi.org/10.1007/978-3-662-54577-5_27We consider the problem of state-space reduction for nondeterministic weakly-hierarchical visibly pushdown automata Vpa. Vpa recognize a robust and algorithmically tractable fragment of context-free languages that is natural for modeling programs.
We ...
- research-articleNovember 2016
Correctness witnesses: exchanging verification results between verifiers
FSE 2016: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software EngineeringPages 326–337https://doi.org/10.1145/2950290.2950351Standard verification tools provide a counterexample to witness a specification violation, and, since a few years, such a witness can be validated by an independent validator using an exchangeable witness format. This way, information about the ...
- ArticleApril 2016
Ultimate Automizer with Two-track Proofs
- Matthias Heizmann,
- Daniel Dietsch,
- Marius Greitschus,
- Jan Leike,
- Betim Musa,
- Claus Schätzle,
- Andreas Podelski
Proceedings of the 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 9636Pages 950–953https://doi.org/10.1007/978-3-662-49674-9_68Ultimate Automizer is a software verification tool that implements an automata-based approach for the analysis of safety and liveness problems. The version that participates in this year's competition is able to analyze non-reachability, memory safety, ...