VLDB 2026 Research / reviewers in the wild / expert
Andreas Podelski
dblp:p/APodelski
· DBLP profile ↗
147ranked-venue papers
20as first author
19since 2021 · last 2026
0000-0003-2540-9489ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 113 · 18 first-author · 16 since 2021Theory of computation · 44 · 5 first-author · 3 since 2021Artificial intelligence and machine learning · 10 · 2 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Provably Relevant HAL Interface Requirements for Embedded Systems
Manuel Bentele, Andreas Podelski, Axel Sikora, Bernd Westphal |
REFSQ | 2 |
| 2026 | A Practical and Complete Method for Detecting rt-Inconsistencies in Real-Time Requirements
Nico Hauff, Elisabeth Henkel, Elisabeth Fünfgeld, Vincent Langenfeld, Andreas Podelski |
REFSQ | 5 |
| 2026 | Automata-Represented Requirements in HanforPL - A Visual Approach for Requirements Engineering Practice and Formal Reasoning
Tobias Kolzer, Vincent Langenfeld, Nico Hauff, Elisabeth Henkel, Andreas Podelski |
REFSQ | 5 |
| 2026 | Ultimate Automizer with a One-Dimensional Memory Model - (Competition Contribution)
Manuel Bentele, Max Barth, Marcel Ebbinghaus, Jan Körner, Daniel Dietsch, Matthias Heizmann, Dominik Klumpp, Frank Schüssele, Andreas Podelski |
TACAS (2) | 9 |
| 2025 | Counterexample-Guided CommutativityabstractAbstract We consider the use of commutativity-based reduction for the algorithmic verification of concurrent programs. In existing work, the commutativity relation used for the reduction is mostly fixed statically. In this paper, we propose a demand-driven approach to compute the commutativity relation. The approach can be viewed as the direct analogue of the CEGAR approach which uses counterexamples to guide the incremental refinement of the abstraction. Instead of eliminating a counterexample by proving it infeasible and refining the abstraction, we can eliminate a counterexample by proving it redundant and expanding the commutativity relation. When we prove a counterexample redundant, we use the proof for a generalization step which allows us to eliminate not just a single counterexample, but a whole infinite set. We present a general scheme where we integrate the new approach with the CEGAR approach. We have implemented an instantiation of the general scheme. An experimental evaluation shows an increase in the number of successfully verified programs by 15% on a challenging benchmark set. Marcel Ebbinghaus, Dominik Klumpp, Andreas Podelski |
CAV (3) | 3 |
| 2024 | Scalable Redundancy Detection for Real-Time RequirementsabstractDescribing a system in a requirements specification demands correctness and conciseness. Requirements are redundant if they are stated multiple times throughout a specification (explicitly or implicitly). In contrast to vacuity, redundancies do not inherently indicate specification defects, and are sometimes even inevitable to adequately follow safety practices. However, intended redundancies have to be managed to avoid subsequent errors. Unintended redundancies often hint to defects in the requirements specification. We present an analysis for redundancies in formal real-time requirements specifications based on automata theoretical model checking. To enable this analysis, we introduce a determinism preserving totalization and complement procedure for the timed automaton model of Phase Event Automata. We state the redundancy check for a set of real-time requirements as a program analysis task. Benchmarks show the viability of our approach to analyse requirements sets of industrial size and complexity: the analysis scales well on industrial sets, interesting redundancies both from requirements and as a formalisation artefact were found. Elisabeth Henkel, Nico Hauff, Lena Funk, Vincent Langenfeld, Andreas Podelski |
RE | 5 |
| 2024 | Ultimate Automizer and the Abstraction of Bitwise Operations - (Competition Contribution)abstractAbstract The verification ofUltimate Automizerworks 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 present a translation for bitwise operations that improves the precision of this overapproximation. Frank Schüssele, Manuel Bentele, Daniel Dietsch, Matthias Heizmann, Dominik Klumpp, Andreas Podelski |
TACAS (3) | 7 |
| 2024 | Commutativity Simplifies Proofs of Parameterized ProgramsabstractCommutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of lexicographical program reductions was introduced to formalize a broad class of reductions which accommodate sequential (thread-local) reasoning as well as synchronous programs. Approaches based on this framework, however, were fundamentally limited to program models with a fixed/bounded number of threads. In this paper, we show that it is possible to define an effective parametric family of program reductions that can be used to find simple proofs for parameterized programs , i.e., for programs with an unbounded number of threads. We show that reductions are indeed useful for the simplification of proofs for parameterized programs, in a sense that can be made precise: A reduction of a parameterized program may admit a proof which uses fewer or less sophisticated ghost variables. The reduction may therefore be within reach of an automated verification technique, even when the original parameterized program is not. As our first technical contribution, we introduce a notion of reductions for parameterized programs such that the reduction R of a parameterized program P is again a parameterized program (the thread template of R is obtained by source-to-source transformation of the thread template of P ). Consequently, existing techniques for the verification of parameterized programs can be directly applied to R instead of P . Our second technical contribution is that we define an appropriate family of pairwise preference orders which can be effectively used as a parameter to produce different lexicographical reductions. To determine whether this theoretical foundation amounts to a usable solution in practice, we have implemented the approach, based on a recently proposed framework for parameterized program verification. The results of our preliminary experiments on a representative set of examples are encouraging. Azadeh Farzan, Dominik Klumpp, Andreas Podelski |
Proc. ACM Program. Lang. | 3 |
| 2024 | Systematic adaptation and investigation of the understandability of a formal pattern languageabstractAbstract Formal pattern languages are used in industry to communicate and analyse requirements, as they are said to be both machine-readable and intuitively understandable for humans. The questions arise to what extent this intuitive understanding of a pattern language is in agreement with its formal semantics and whether this understanding can be increased systematically. We present two consecutive empirical experiments to address these questions. The formal semantics serves as an objective judge on the intuitive understanding. Our experiments confirm the practical usefulness of HanforPL insofar the intuition matches the formal semantics in most practically relevant cases. They also reveal a number of edge cases where even a prior exposure to formal logic is not a guarantee for correct understanding. We present and validate systematic adjustments to the patterns, leading to several large increases in understandability but come at the cost of new, but less impactful ambiguities. We demonstrate how an inquiry on the alignment of the intuitive and formal semantics of a pattern language can help to understand and improve the language. While results regarding the understandability of HanforPL are favourable in commonly used cases, there is potential for improvement. The systematic adaption of patterns shows that small modifications may have large effects on the alignment of formal and intuitive semantics, and that modification must be considered with caution in the context of the respective pattern to avoid unintentionally adding new ambiguities. This article is an extension of our published REFSQ paper. Elisabeth Henkel, Nico Hauff, Vincent Langenfeld, Lukas Eber, Andreas Podelski |
Requir. Eng. | 5 |
| 2023 | An Empirical Study of the Intuitive Understanding of a Formal Pattern Language
Elisabeth Henkel, Nico Hauff, Lukas Eber, Vincent Langenfeld, Andreas Podelski |
REFSQ | 5 |
| 2023 | Ultimate Taipan and Race Detection in Ultimate - (Competition Contribution)abstractAbstract Ultimate 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 for data race checking, the results are encouraging. Daniel Dietsch, Matthias Heizmann, Dominik Klumpp, Frank Schüssele, Andreas Podelski |
TACAS (2) | 5 |
| 2023 | Ultimate Automizer and the CommuHash Normal Form - (Competition Contribution)abstractAbstract The 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 significant impact on the runtime of our tool. Matthias Heizmann, Max Barth, Daniel Dietsch, Leonard Fichtner, Jochen Hoenicke, Dominik Klumpp, Mehdi Naouar, Tanja Schindler, Frank Schüssele, Andreas Podelski |
TACAS (2) | 10 |
| 2023 | Stratified Commutativity in Verification Algorithms for Concurrent ProgramsabstractThe importance of exploitingcommutativity relationsin verification algorithms for concurrent programs is well-known. They can help simplify the proof and improve the time and space efficiency. This paper studies commutativity relations as a first-class object in the setting of verification algorithms for concurrent programs. A first contribution is a general framework forabstract commutativity relations. We introduce a general soundness condition for commutativity relations, and present a method to automatically derive sound abstract commutativity relations from a given proof. The method can be used in a verification algorithm based on abstraction refinement to compute a new commutativity relation in each iteration of the abstraction refinement loop. A second result is a general proof rule that allows one to combine multiple commutativity relations, with incomparable power, in astratifiedway that preserves soundness and allows one to profit from the full power of the combined relations. We present an algorithm for the stratified proof rule that performs an optimal combination (in a sense made formal), enabling usage of stratified commutativity in algorithmic verification. We empirically evaluate the impact of abstract commutativity and stratified combination of commutativity relations on verification algorithms for concurrent programs. Azadeh Farzan, Dominik Klumpp, Andreas Podelski |
Proc. ACM Program. Lang. | 3 |
| 2022 | Sound sequentialization for concurrent program verificationabstractWe present a systematic investigation and experimental evaluation of a large space of algorithms for the verification of concurrent programs. The algorithms are based on sequentialization. In the analysis of concurrent programs, the general idea of sequentialization is to select a subset of interleavings, represent this subset as a sequential program, and apply a generic analysis for sequential programs. For the purpose of verification, the sequentialization has to be sound (meaning that the proof for the sequential program entails the correctness of the concurrent program). We use the concept of a preference order to define which interleavings the sequentialization is to select ("the most preferred ones"). A verification algorithm based on sound sequentialization that is parametrized in a preference order allows us to directly evaluate the impact of the selection of the subset of interleavings on the performance of the algorithm. Our experiments indicate the practical potential of sound sequentialization for concurrent program verification. Azadeh Farzan, Dominik Klumpp, Andreas Podelski |
PLDI | 3 |
| 2022 | Ultimate GemCutter and the Axes of Generalization - (Competition Contribution)abstractAbstract Ultimate 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 interleavings. Thereby, we are able to prove correctness of programs otherwise out-of-reach for interpolation-based verification. The competition results show significant advantages over other concurrency approaches in the Ultimate family. Dominik Klumpp, Daniel Dietsch, Matthias Heizmann, Frank Schüssele, Marcel Ebbinghaus, Azadeh Farzan, Andreas Podelski |
TACAS (2) | 7 |
| 2022 | Decomposing reach set computations with low-dimensional sets and high-dimensional matrices (extended version)abstractApproximating the set of reachable states of a dynamical system is an algorithmic way to rigorously reason about its safety. Despite progress on efficient algorithms for affine dynamical systems, available algorithms still lack scalability to ensure their wide adoption in practice. While modern linear algebra packages are efficient for matrices with tens of thousands of dimensions, set-based image computations are limited to a few hundred. We propose to decompose reach-set computations such that set operations are performed in low dimensions, while matrix operations are performed in the full dimension. Our method is applicable in both dense- and discrete-time settings. For a set of standard benchmarks, we show a speed-up of up to two orders of magnitude compared to the respective state-of-the-art tools, with only modest loss in accuracy. For the dense-time case, we show an experiment with more than 10,000 variables, roughly two orders of magnitude higher than possible before. Sergiy Bogomolov, Marcelo Forets, Goran Frehse, Andreas Podelski, Christian Schilling 0001 |
Inf. Comput. | 4 |
| 2021 | A Formal Operational Model of ACT-R: Structure and Behaviour
Vincent Langenfeld, Bernd Westphal, Andreas Podelski |
CogSci | 3 |
| 2021 | Verification of Concurrent Programs Using Petri Net Unfoldings
Daniel Dietsch, Matthias Heizmann, Dominik Klumpp, Mehdi Naouar, Andreas Podelski, Claus Schätzle |
VMCAI | 5 |
| 2021 | Temporal prophecy for proving temporal properties of infinite-state systemsabstractAbstract Various verification techniques for temporal properties transform temporal verification to safety verification. For infinite-state systems, these transformations are inherently imprecise. That is, for some instances, the temporal property holds, but the resulting safety property does not. This paper introduces a mechanism for tackling this imprecision. This mechanism, which we call temporal prophecy, is inspired by prophecy variables. Temporal prophecy refines an infinite-state system using first-order linear temporal logic formulas, via a suitable tableau construction. For a specific liveness-to-safety transformation based on first-order logic, we show that using temporal prophecy strictly increases the precision. Furthermore, temporal prophecy leads to robustness of the proof method, which is manifested by a cut elimination theorem. We integrate our approach into the Ivy deductive verification system, and show that it can handle challenging temporal verification examples. Oded Padon, Jochen Hoenicke, Kenneth L. McMillan, Andreas Podelski, Shmuel Sagiv, Sharon Shoham |
Formal Methods Syst. Des. | 4 |
| 2019 | On Formal Verification of ACT-R Architectures and Models
Vincent Langenfeld, Bernd Westphal, Andreas Podelski |
CogSci | 3 |
| 2018 | But does it really do that? Using formal analysis to ensure desirable ACT-R model behaviour
Vincent Langenfeld, Bernd Westphal, Rebecca Albrecht, Andreas Podelski |
CogSci | 4 |
| 2018 | Temporal Prophecy for Proving Temporal Properties of Infinite-State SystemsabstractVarious verification techniques for temporal properties transform temporal verification to safety verification. For infinite-state systems, these transformations are inherently imprecise. That is, for some instances, the temporal property holds, but the resulting safety property does not. This paper introduces a mechanism for tackling this imprecision. This mechanism, which we call temporal prophecy, is inspired by prophecy variables. Temporal prophecy refines an infinite-state system using first-order linear temporal logic formulas, via a suitable tableau construction. For a specific liveness-to-safety transformation based on first-order logic, we show that using temporal prophecy strictly increases the precision. Furthermore, temporal prophecy leads to robustness of the proof method, which is manifested by a cut elimination theorem. We integrate our approach into the Ivy deductive verification system, and show that it can handle challenging temporal verification examples. Oded Padon, Jochen Hoenicke, Kenneth L. McMillan, Andreas Podelski, Shmuel Sagiv, Sharon Shoham |
FMCAD | 4 |
| 2018 | Reach Set Approximation through Decomposition with Low-dimensional Sets and High-dimensional MatricesabstractApproximating the set of reachable states of a dynamical system is an algorithmic yet mathematically rigorous way to reason about its safety. Although progress has been made in the development of efficient algorithms for affine dynamical systems, available algorithms still lack scalability to ensure their wide adoption in the industrial setting. While modern linear algebra packages are efficient for matrices with tens of thousands of dimensions, set-based image computations are limited to a few hundred. We propose to decompose reach set computations such that set operations are performed in low dimensions, while matrix operations like exponentiation are carried out in the full dimension. Our method is applicable both in dense- and discrete-time settings. For a set of standard benchmarks, it shows a speed-up of up to two orders of magnitude compared to the respective state-of-the-art tools, with only modest losses in accuracy. For the dense-time case, we show an experiment with more than 10,000 variables, roughly two orders of magnitude higher than possible with previous approaches. Sergiy Bogomolov, Marcelo Forets, Goran Frehse, Frédéric Viry, Andreas Podelski, Christian Schilling 0001 |
HSCC | 5 |
| 2018 | Ultimate Taipan with Dynamic Block Encoding - (Competition Contribution)
Daniel Dietsch, Marius Greitschus, Matthias Heizmann, Jochen Hoenicke, Alexander Nutz, Andreas Podelski, Christian Schilling 0001, Tanja Schindler |
TACAS (2) | 6 |
| 2018 | Ultimate Automizer and the Search for Perfect Interpolants - (Competition Contribution)
Matthias Heizmann, Yu-Fang Chen 0001, Daniel Dietsch, Marius Greitschus, Jochen Hoenicke, Yong Li 0031, Alexander Nutz, Betim Musa, Christian Schilling 0001, Tanja Schindler, Andreas Podelski |
TACAS (2) | 11 |
| 2018 | Reducing liveness to safety in first-order logicabstractWe develop a new technique for verifying temporal properties of infinite-state (distributed) systems. The main idea is to reduce the temporal verification problem to the problem of verifying the safety of infinite-state systems expressed in first-order logic. This allows to leverage existing techniques for safety verification to verify temporal properties of interesting distributed protocols, including some that have not been mechanically verified before. We model infinite-state systems using first-order logic, and use first-order temporal logic (FO-LTL) to specify temporal properties. This general formalism allows to naturally model distributed systems, while supporting both unbounded-parallelism (where the system is allowed to dynamically create processes), and infinite-state per process. The traditional approach for verifying temporal properties of infinite-state systems employs well-founded relations (e.g. using linear arithmetic ranking functions). In contrast, our approach is based the idea of fair cycle detection. In finite-state systems, temporal verification can always be reduced to fair cycle detection (a system contains a fair cycle if it revisits a state after satisfying all fairness constraints). However, with both infinitely many states and infinitely many fairness constraints, a straightforward reduction to fair cycle detection is unsound. To regain soundness, we augment the infinite-state transition system by a dynamically computed finite set, that exploits the locality of transitions. This set lets us define a form of fair cycle detection that is sound in the presence of both infinitely many states, and infinitely many fairness constraints. Our approach allows a new style of temporal verification that does not explicitly involve ranking functions. This fits well with pure first-order verification which does not explicitly reason about numerical values. In particular, it can be used with effectively propositional first-order logic (EPR), in which case checking verification conditions is decidable. We applied our technique to verify temporal properties of several interesting protocols. To the best of our knowledge, we have obtained the first mechanized liveness proof for both TLB Shootdown, and Stoppable Paxos. Oded Padon, Jochen Hoenicke, Giuliano Losa, Andreas Podelski, Shmuel Sagiv, Sharon Shoham |
Proc. ACM Program. Lang. | 4 |
| 2017 | Thread modularity at many levels: a pearl in compositional verificationabstractA thread-modular proof for the correctness of a concurrent program is based on an inductive and interference-free annotation of each thread. It is well-known that the corresponding proof system is not complete (unless one adds auxiliary variables). We describe a hierarchy of proof systems where each level k corresponds to a generalized notion of thread modularity (level 1 corresponds to the original notion). Each level is strictly more expressive than the previous. Further, each level precisely captures programs that can be proved using uniform Ashcroft invariants with k universal quantifiers. We demonstrate the usefulness of the hierarchy by giving a compositional proof of the Mach shootdown algorithm for TLB consistency. We show a proof at level 2 that shows the algorithm is correct for an arbitrary number of CPUs. However, there is no proof for the algorithm at level 1 which does not involve auxiliary state. Jochen Hoenicke, Rupak Majumdar, Andreas Podelski |
POPL | 3 |
| 2017 | Loop Invariants from Counterexamples
Marius Greitschus, Daniel Dietsch, Andreas Podelski |
SAS | 3 |
| 2017 | Craig vs. Newton in software model checkingabstractEver 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 counterexample) to find building blocks for the overall proof of the program. We can distinguish two approaches (which we name Craig and Newton) to implement the procedure. The historically first approach, Newton (named after the tool from the SLAM toolkit), is based on symbolic execution. The second approach, Craig, is based on Craig interpolation. It was widely believed that Craig is substantially more effective than Newton. In fact, 12 out of the 15 CEGAR-based tools in SV-COMP are based on Craig. Advances in software model checkers based on Craig, however, can go only lockstep with advances in SMT solvers with Craig interpolation. It may be time to revisit Newton and ask whether Newton can be as effective as Craig. We have implemented a total of 11 variants of Craig and Newton in two different state-of-the-art software model checking tools and present the outcome of our experimental comparison. Daniel Dietsch, Matthias Heizmann, Betim Musa, Alexander Nutz, Andreas Podelski |
ESEC/SIGSOFT FSE | 5 |
| 2017 | Ultimate Taipan: Trace Abstraction and Abstract Interpretation - (Competition Contribution)
Marius Greitschus, Daniel Dietsch, Matthias Heizmann, Alexander Nutz, Claus Schätzle, Christian Schilling 0001, Frank Schüssele, Andreas Podelski |
TACAS (2) | 8 |
| 2017 | Ultimate Automizer with an On-Demand Construction of Floyd-Hoare Automata - (Competition Contribution)
Matthias Heizmann, Daniel Dietsch, Marius Greitschus, Alexander Nutz, Betim Musa, Claus Schätzle, Christian Schilling 0001, Frank Schüssele, Andreas Podelski |
TACAS (2) | 10 |
| 2016 | Proving Liveness of Parameterized ProgramsabstractCorrectness of multi-threaded programs typically requires that they satisfy liveness properties. For example, a program may require that no thread is starved of a shared resource, or that all threads eventually agree on a single value. This paper presents a method for proving that such liveness properties hold. Two particular challenges which are addressed in this work are that (1) the correctness argument may rely on global behaviour of the system (e.g., the correctness argument may require that all threads collectively progress towards "the good thing" rather than one thread progressing while the others do not interfere), and (2) such programs are often designed to be executed by any number of threads, and the desired liveness properties must hold no matter how many threads are active in the system. Azadeh Farzan, Zachary Kincaid, Andreas Podelski |
LICS | 3 |
| 2016 | Requirements Defects over a Project Lifetime: An Empirical Analysis of Defect Data from a 5-Year Automotive Project at Bosch
Vincent Langenfeld, Amalinda Post, Andreas Podelski |
REFSQ | 3 |
| 2016 | Ultimate Automizer with Two-track Proofs - (Competition Contribution)
Matthias Heizmann, Daniel Dietsch, Marius Greitschus, Jan Leike, Betim Musa, Claus Schätzle, Andreas Podelski |
TACAS | 7 |
| 2016 | Ready for testing: ensuring conformance to industrial standards through formal verificationabstractAbstract The design of distributed, safety-critical real-time systems is challenging due to their high complexity, the potentially large number of components, and complicated requirements and environment assumptions that stem from international standards. We present a case study that shows that despite those challenges, the automated formal verification of such systems is not only possible, but practicable even in the context of small to medium-sized enterprises. We considered a wireless fire alarm system, regulated by the EN 54 standard. We performed formal requirements engineering, modeling and verification and uncovered severe design flaws that would have prevented its certification. For an improved design, we provided dependable verification results which in particular ensure that certification tests for a relevant regulation standard will be passed. In general we observe that if system tests are specified by generalized test procedures, then verifying that a system will pass any test following those test procedures is a cost-efficient approach to improve the product quality based on formal methods. Based on our experience, we propose an approach useful to integrate the application of formal methods to product development in SME. Sergio Feo-Arenis, Bernd Westphal, Daniel Dietsch, Marco Muñiz, Ahmad Siyar Andisha, Andreas Podelski |
Formal Aspects Comput. | 6 |
| 2016 | Guided search for hybrid systems based on coarse-grained space abstractionsabstractHybrid systems represent an important and powerful formalism for modeling real-world applications such as embedded systems. A verification tool like SpaceEx is based on the exploration of a symbolic search space (the region space ). As a verification tool, it is typically optimized towards proving the absence of errors. In some settings, e.g., when the verification tool is employed in a feedback-directed design cycle, one would like to have the option to call a version that is optimized towards finding an error trajectory in the region space. A recent approach in this direction is based on guided search . Guided search relies on a cost function that indicates which states are promising to be explored, and preferably explores more promising states first. In this paper, we propose an abstraction-based cost function based on coarse-grained space abstractions for guiding the reachability analysis. For this purpose, a suitable abstraction technique that exploits the flexible granularity of modern reachability analysis algorithms is introduced. The new cost function is an effective extension of pattern database approaches that have been successfully applied in other areas. The approach has been implemented in the SpaceEx model checker. The evaluation shows its practical potential. Sergiy Bogomolov, Alexandre Donzé, Goran Frehse, Radu Grosu, Taylor T. Johnson, Hamed Ladan, Andreas Podelski, Martin Wehrle |
Int. J. Softw. Tools Technol. Transf. | 7 |
| 2015 | Fairness Modulo Theory: A New Approach to LTL Software Model Checking
Daniel Dietsch, Matthias Heizmann, Vincent Langenfeld, Andreas Podelski |
CAV (1) | 4 |
| 2015 | Eliminating spurious transitions in reachability with support functionsabstractComputing an approximation of the reachable states of a hybrid system is a challenge, mainly because overapproximating the solutions of ODEs with a finite number of sets does not scale well. Using template polyhedra can greatly reduce the computational complexity, since it replaces complex operations on sets with a small number of optimization problems. However, the use of templates may make the over-approximation too conservative. Spurious transitions, which are falsely considered reachable, are particularly detrimental to performance and accuracy, and may exacerbate the state explosion problem. In this paper, we examine how spurious transitions can be avoided with minimal computational effort. To this end, detecting spurious transitions is reduced to the well-known problem of showing that two convex sets are disjoint by finding a hyperplane that separates them. We generalize this to flowpipes by considering hyperplanes that evolve with time in correspondence to the dynamics of the system. The approach is implemented in the model checker SpaceEx and demonstrated on examples. Goran Frehse, Sergiy Bogomolov, Marius Greitschus, Thomas Strump, Andreas Podelski |
HSCC | 5 |
| 2015 | If A Fails, Can B Still Succeed? Inferring Dependencies between Test Results in Automotive System TestingabstractIn this paper we propose an approach that, given a structured requirements specification, allows the automatic online detection of a redundant test case. This means that, at each time point during a testing phase, one automatically infers the failure of a test case from the current status of successful tests and failed tests. By a structured requirements specification we mean that one uses a hierarchical structure and types to document the (natural language) formulation of requirements. We have implemented the approach. The evaluation of our implementation in a case study in the context of the development process for Mercedes-Benz vehicles at Daimler AG indicates the practical potential of our approach. Stephan Arlt, Tobias Morciniec, Andreas Podelski, Silke Wagner |
ICST | 3 |
| 2015 | Automated Program Verification
Azadeh Farzan, Matthias Heizmann, Jochen Hoenicke, Zachary Kincaid, Andreas Podelski |
LATA | 5 |
| 2015 | Proof Spaces for Unbounded ParallelismabstractIn this paper, we present a new approach to automatically verify multi-threaded programs which are executed by an unbounded number of threads running in parallel. Azadeh Farzan, Zachary Kincaid, Andreas Podelski |
POPL | 3 |
| 2015 | Using the requirements specification to infer the implicit test status of requirementsabstractWe investigate a method to infer the implicit test status of requirements and thus increase the number of requirements for which the test status is known. The general idea is to improve the data set for measuring the maturity of the system in the current release. The inference is based on the structuring mechanisms (hierarchy, types) which are typically used to document the (natural language) requirements specification. We present a case study in the context of the development process for Mercedes-Benz passenger cars at Daimler AG. The results of the case study indicate the usefulness of the structuring mechanisms in the requirements specification as the basis for the inference. In particular, the number of requirements for which the status is known could be increased by almost a third. Tobias Morciniec, Andreas Podelski |
RE | 2 |
| 2015 | Ultimate Automizer with Array Interpolation - (Competition Contribution)abstractUltimate Automizer is a software verification tool that is able to analyze reachability of an error label, memory safety, and termination of C programs. For all three tasks, our tool follows an automatabased approach where interpolation is used to compute proofs for traces. The interpolants are generated via a new scheme that requires only the post operator, unsatisfiable cores and live variable analysis. This new scheme enables our tool to use the SMT theory of arrays in combination with interpolation. Matthias Heizmann, Daniel Dietsch, Jan Leike, Betim Musa, Andreas Podelski |
TACAS | 5 |
| 2015 | ULTIMATE KOJAK with Memory Safety Checks - (Competition Contribution)
Alexander Nutz, Daniel Dietsch, Mostafa Mahmoud Mohamed, Andreas Podelski |
TACAS | 4 |
| 2014 | Planning as Model Checking in Hybrid DomainsabstractPlanning in hybrid domains is an important and challenging task, and various planning algorithms have been proposed in the last years. From an abstract point of view, hybrid planning domains are based on hybrid automata, which have been studied intensively in the model checking community. In particular, powerful model checking algorithms and tools have emerged for this formalism. However, despite the quest for more scalable planning approaches, model checking algorithms have not been applied to planning in hybrid domains so far. In this paper, we make a first step in bridging the gap between these two worlds. We provide a formal translation scheme from PDDL+ to the standard formalism of hybrid automata, as a solid basis for using hybrid system model-checking tools for dealing with hybrid planning domains. As a case study, we use the SpaceEx model checker, showing how we can address PDDL+ domains that are out of the scope of state-of-the-art planners. Sergiy Bogomolov, Daniele Magazzeni, Andreas Podelski, Martin Wehrle |
AAAI | 3 |
| 2014 | Termination Analysis by Learning Terminating Programs
Matthias Heizmann, Jochen Hoenicke, Andreas Podelski |
CAV | 3 |
| 2014 | Quasi-dependent variables in hybrid automataabstractThe concept of hybrid automata provides a powerful framework to model and analyze real-world systems. Due to the structural complexity of hybrid systems it is important to ensure the scalability of analysis algorithms. We approach this problem by providing an effective generalisation of the recently introduced notion of quasi-equal clocks to hybrid systems. For this purpose, we introduce the concept of quasi-dependent variables. Our contribution is two-fold: we demonstrate how such variables can be automatically detected, and we present a transformation leading to an abstraction with a smaller state space which, however, still retains the same properties as the original system. We demonstrate the practical applicability of our methods on a range of industrial benchmarks. Sergiy Bogomolov, Christian Herrera, Marco Muñiz, Bernd Westphal, Andreas Podelski |
HSCC | 5 |
| 2014 | Verification of GUI Applications: A Black-Box Approach
Stephan Arlt, Evren Ermis, Sergio Feo-Arenis, Andreas Podelski |
ISoLA (1) | 4 |
| 2014 | Reducing GUI test suites via program slicingabstractA crucial problem in GUI testing is the identification of accurate event sequences that encode corresponding user interactions with the GUI. Ultimately, event sequences should be both feasible (i. e., executable on the GUI) and relevant (i.e., cover as much of the code as possible). So far, most work on GUI testing focused on approaches to generate feasible event sequences. In addition, based on event dependency analyses, a recently proposed static analysis approach systematically aims at selecting both relevant and feasible event sequences. However, statically analyzing event dependencies can cause the generation of a huge number of event sequences, leading to unmanageable GUI test suites that are not executable within reasonable time. In this paper we propose a refined static analysis approach based on program slicing. On the theoretical side, our approach identifies and eliminates redundant event sequences in GUI test suites. Redundant event sequences have the property that they are guaranteed to not affect the test effectiveness. On the practical side, we have implemented a slicing-based test suite reduction algorithm that approximatively identifies redundant event sequences. Our experiments on six open source GUI applications show that our reduction algorithm significantly reduces the size of GUI test suites. As a result, the overall execution time could significantly be reduced without losing test effectiveness. Stephan Arlt, Andreas Podelski, Martin Wehrle |
ISSTA | 2 |
| 2014 | Proofs that countabstractCounting arguments are among the most basic proof methods in mathematics. Within the field of formal verification, they are useful for reasoning about programs with infinite control, such as programs with an unbounded number of threads, or (concurrent) programs with recursive procedures. While counting arguments are common in informal, hand-written proofs of such programs, there are no fully automated techniques to construct counting arguments. The key questions involved in automating counting arguments are: how to decide what should be counted?, and how to decide when a counting argument is valid? In this paper, we present a technique for automatically constructing and checking counting arguments, which includes novel solutions to these questions. Azadeh Farzan, Zachary Kincaid, Andreas Podelski |
POPL | 3 |
| 2014 | Ultimate Kojak - (Competition Contribution)
Evren Ermis, Alexander Nutz, Daniel Dietsch, Jochen Hoenicke, Andreas Podelski |
TACAS | 5 |
| 2014 | Ultimate Automizer with Unsatisfiable Cores - (Competition Contribution)
Matthias Heizmann, Jürgen Christ, Daniel Dietsch, Jochen Hoenicke, Markus Lindenmann, Betim Musa, Christian Schilling 0001, Stefan Wissert, Andreas Podelski |
TACAS | 9 |
| 2014 | Quasi-Equal Clock Reduction: More Networks, More Queries
Christian Herrera, Bernd Westphal, Andreas Podelski |
TACAS | 3 |
| 2013 | Linear Ranking for Linear Lasso Programs
Matthias Heizmann, Jochen Hoenicke, Jan Leike, Andreas Podelski |
ATVA | 4 |
| 2013 | Software Model Checking for People Who Love Automata
Matthias Heizmann, Jochen Hoenicke, Andreas Podelski |
CAV | 3 |
| 2013 | Inductive data flow graphsabstractThe correctness of a sequential program can be shown by the annotation of its control flow graph with inductive assertions. We propose inductive data flow graphs, data flow graphs with incorporated inductive assertions, as the basis of an approach to verifying concurrent programs. An inductive data flow graph accounts for a set of dependencies between program actions in interleaved thread executions, and therefore stands as a representation for the set of concurrent program traces which give rise to these dependencies. The approach first constructs an inductive data flow graph and then checks whether all program traces are represented. The size of the inductive data flow graph is polynomial in the number of data dependencies (in a sense that can be made formal); it does not grow exponentially in the number of threads unless the data dependencies do. The approach shifts the burden of the exponential explosion towards the check whether all program traces are represented, i.e., to a combinatorial problem (over finite graphs). Azadeh Farzan, Zachary Kincaid, Andreas Podelski |
POPL | 3 |
| 2013 | Abstraction-Based Guided Search for Hybrid Systems
Sergiy Bogomolov, Alexandre Donzé, Goran Frehse, Radu Grosu, Taylor T. Johnson, Hamed Ladan, Andreas Podelski, Martin Wehrle |
SPIN | 7 |
| 2013 | Ultimate Automizer with SMTInterpol - (Competition Contribution)
Matthias Heizmann, Jürgen Christ, Daniel Dietsch, Evren Ermis, Jochen Hoenicke, Markus Lindenmann, Alexander Nutz, Christian Schilling 0001, Andreas Podelski |
TACAS | 9 |
| 2013 | Automata as Proofs
Andreas Podelski |
VMCAI | 1 |
| 2012 | Interpolant Automata - (Invited Talk)
Andreas Podelski |
ATVA | 1 |
| 2012 | A Box-Based Distance between Regions for Guiding the Reachability Analysis of SpaceEx
Sergiy Bogomolov, Goran Frehse, Radu Grosu, Hamed Ladan, Andreas Podelski, Martin Wehrle |
CAV | 5 |
| 2012 | Lightweight Static Analysis for GUI TestingabstractGUI testing is an active research area. The open challenge is the judicious generation of event sequences (an event sequence encodes a user interaction). A major advance in this direction is the use of a black-box model to systematically generate event sequences that are executable on the GUI. The black-box model can be, e.g., an Event Flow Graph (EFG) or an Event Sequence Graph (ESG). In this paper we propose a new approach to select relevant event sequences among the event sequences generated by a black-box model. We express the relevance of an event sequence by a precisely defined dependency between a fixed number of events in the event sequence. Departing from a pure black-box approach we apply a static analysis to the byte code of the application. This allows us to infer a dependency graph, which we call Event Dependency Graph (EDG). We use the EDG together with a black-box model to construct a set of relevant event sequences among the executable ones. We have implemented our approach in a new tool. We evaluate the approach on four open source GUI applications. With the specific choice of a lightweight static analysis, the approach scales to large applications and, at the same time, leads to an informed selection of event sequences. Using our approach we are able to find previously undetected bugs. Stephan Arlt, Andreas Podelski, Cristiano Bertolini, Martin Schäf, Ishan Banerjee, Atif M. Memon |
ISSRE | 2 |
| 2012 | Parameterized GUI Tests
Stephan Arlt, Pedro Borromeo, Martin Schäf, Andreas Podelski |
ICTSS | 4 |
| 2012 | Splitting via Interpolants
Evren Ermis, Jochen Hoenicke, Andreas Podelski |
VMCAI | 3 |
| 2012 | Automotive behavioral requirements expressed in a specification pattern system: a case study at BOSCH
Amalinda Post, Igor Menzel, Jochen Hoenicke, Andreas Podelski |
Requir. Eng. | 4 |
| 2011 | rt-Inconsistency: A New Property for Real-Time Requirements
Amalinda Post, Jochen Hoenicke, Andreas Podelski |
FASE | 3 |
| 2011 | System Verification through Program Verification
Daniel Dietsch, Bernd Westphal, Andreas Podelski |
FM | 3 |
| 2011 | Disambiguation of industrial standards through formalization and graphical languagesabstractNatural language safety requirements in industrial standards pose risks for ambiguities which need to be resolved by the system manufacturer in concertation with the certificate authority. This is especially challenging for small and medium-sized enterprises (SME). In this paper we report on our experiences with applying traditional requirements engineering techniques, formal methods, and visual narratives in an exploratory case-study in an SME. Daniel Dietsch, Sergio Feo-Arenis, Bernd Westphal, Andreas Podelski |
RE | 4 |
| 2011 | Vacuous real-time requirementsabstractWe introduce the property of vacuity for requirements. A requirement is vacuous in a set of requirements if it is equivalent to a simpler requirement in the context of the other requirements. For example, the requirement “if A then B” is vacuous together with the requirement “not A”. The existence of a vacuous requirement is likely to indicate an error. We give an algorithm that proves the absence of this kind of error for real-time requirements. A case study in an industrial context demonstrates the practical potential of the algorithm. Amalinda Post, Jochen Hoenicke, Andreas Podelski |
RE | 3 |
| 2011 | Applying Restricted English Grammar on Automotive Requirements - Does it Work? A Case Study
Amalinda Post, Igor Menzel, Andreas Podelski |
REFSQ | 3 |
| 2011 | Transition Invariants and Transition Predicate Abstraction for Program Termination
Andreas Podelski, Andrey Rybalchenko |
TACAS | 1 |
| 2010 | Composing Reachability Analyses of Hybrid Systems for Safety and Stability
Sergiy Bogomolov, Corina Mitrohin, Andreas Podelski |
ATVA | 3 |
| 2010 | Nested interpolantsabstractIn this paper, we explore the potential of the theory of nested words for partial correctness proofs of recursive programs. Our conceptual contribution is a simple framework that allows us to shine a new light on classical concepts such as Floyd/Hoare proofs and predicate abstraction in the context of recursive programs. Our technical contribution is an interpolant-based software model checking method for recursive programs. The method avoids the costly construction of the abstract transformer by constructing a nested word automaton from an inductive sequence of `nested interpolants' (i.e., interpolants for a nested word which represents an infeasible error trace). Matthias Heizmann, Jochen Hoenicke, Andreas Podelski |
POPL | 3 |
| 2010 | Counterexample-guided focusabstractThe automated inference of quantified invariants is considered one of the next challenges in software verification. The question of the right precision-efficiency tradeoff for the corresponding program analyses here boils down to the question of the right treatment of disjunction below and above the universal quantifier. In the closely related setting of shape analysis one uses the focus operator in order to adapt the treatment of disjunction (and thus the efficiency-precision tradeoff) to the individual program statement. One promising research direction is to design parameterized versions of the focus operator which allow the user to fine-tune the focus operator not only to the individual program statements but also to the specific verification task. We carry this research direction one step further. We fine-tune the focus operator to each individual step of the analysis (for a specific verification task). This fine-tuning must be done automatically. Our idea is to use counterexamples for this purpose. We realize this idea in a tool that automatically infers quantified invariants for the verification of a variety of heap-manipulating programs. Andreas Podelski, Thomas Wies |
POPL | 1 |
| 2010 | Size-Change Termination and Transition Invariants
Matthias Heizmann, Neil D. Jones, Andreas Podelski |
SAS | 3 |
| 2010 | Thread-Modular Counterexample-Guided Abstraction Refinement
Alexander Malkis, Andreas Podelski, Andrey Rybalchenko |
SAS | 2 |
| 2010 | Fairness for Dynamic Control
Jochen Hoenicke, Ernst-Rüdiger Olderog, Andreas Podelski |
TACAS | 3 |
| 2010 | Doomed program points
Jochen Hoenicke, K. Rustan M. Leino, Andreas Podelski, Martin Schäf, Thomas Wies |
Formal Methods Syst. Des. | 3 |
| 2009 | It's Doomed; We Can Prove It
Jochen Hoenicke, K. Rustan M. Leino, Andreas Podelski, Martin Schäf, Thomas Wies |
FM | 3 |
| 2009 | Refinement of Trace Abstraction
Matthias Heizmann, Jochen Hoenicke, Andreas Podelski |
SAS | 3 |
| 2009 | Abstraction Refinement for Quantified Array Assertions
Mohamed Nassim Seghir, Andreas Podelski, Thomas Wies |
SAS | 2 |
| 2009 | Transition-Based Directed Model Checking
Martin Wehrle, Sebastian Kupferschmid, Andreas Podelski |
TACAS | 3 |
| 2009 | Summarization for termination: no return!
Byron Cook, Andreas Podelski, Andrey Rybalchenko |
Formal Methods Syst. Des. | 2 |
| 2009 | Directed model checking with distance-preserving abstractionsabstractIn directed model checking, the traversal of the state space is guided by an estimate of the distance from the current state to the nearest error state. This paper presents a distance-preserving abstraction for concurrent systems that allows one to compute an interesting estimate of the error distance without hitting the state explosion problem. Our experiments show a dramatic reduction both in the number of states explored by the model checker and in the total runtime. Klaus Dräger, Bernd Finkbeiner, Andreas Podelski |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2008 | Faster Than Uppaal?
Sebastian Kupferschmid, Martin Wehrle, Bernhard Nebel, Andreas Podelski |
CAV | 4 |
| 2008 | Heap Assumptions on Demand
Andreas Podelski, Andrey Rybalchenko, Thomas Wies |
CAV | 1 |
| 2008 | Is Lazy Abstraction a Decision Procedure for Broadcast Protocols?
Rayna Dimitrova, Andreas Podelski |
VMCAI | 2 |
| 2007 | ARMC: The Logical Choice for Software Model Checking with Abstraction Refinement
Andreas Podelski, Andrey Rybalchenko |
PADL | 1 |
| 2007 | Proving thread terminationabstractConcurrent programs are often designed such that certain functions executing within critical threads must terminate. Examples of such cases can be found in operating systems, web servers, e-mail clients, etc. Unfortunately, no known automatic program termination prover supports a practical method of proving the termination of threads. In this paper we describe such a procedure. The procedure's scalability is achieved through the use of environment models that abstract away the surrounding threads. The procedure's accuracy is due to a novel method of incrementally constructing environment abstractions. Our method finds the conditions that a thread requires of its environment in order to establish termination by looking at the conditions necessary to prove that certain paths through the thread represent well-founded relations if executed in isolation of the other threads. The paper gives a description of experimental results using an implementation of our procedureon Windows device drivers and adescription of a previously unknown bug found withthe tool. Byron Cook, Andreas Podelski, Andrey Rybalchenko |
PLDI | 2 |
| 2007 | Proving that programs eventually do something goodabstractIn recent years we have seen great progress made in the area of automatic source-level static analysis tools. However, most of today's program verification tools are limited to properties that guarantee the absence of bad events (safety properties). Until now no formal software analysis tool has provided fully automatic support for proving properties that ensure that good events eventually happen (liveness properties). In this paper we present such a tool, which handles liveness properties of large systems written in C. Liveness properties are described in an extension of the specification language used in the SDV system. We have used the tool to automatically prove critical liveness properties of Windows device drivers and found several previously unknown liveness bugs. Byron Cook, Alexey Gotsman, Andreas Podelski, Andrey Rybalchenko, Moshe Y. Vardi |
POPL | 3 |
| 2007 | Precise Thread-Modular Verification
Alexander Malkis, Andreas Podelski, Andrey Rybalchenko |
SAS | 2 |
| 2007 | Uppaal/DMC- Abstraction-Based Heuristics for Directed Model Checking
Sebastian Kupferschmid, Klaus Dräger, Jörg Hoffmann 0001, Bernd Finkbeiner, Henning Dierks, Andreas Podelski, Gerd Behrmann |
TACAS | 6 |
| 2007 | Transition predicate abstraction and fair termination
Andreas Podelski, Andrey Rybalchenko |
ACM Trans. Program. Lang. Syst. | 1 |
| 2006 | Terminator: Beyond Safety
Byron Cook, Andreas Podelski, Andrey Rybalchenko |
CAV | 2 |
| 2006 | Thread-Modular Verification Is Cartesian Abstract Interpretation
Alexander Malkis, Andreas Podelski, Andrey Rybalchenko |
ICTAC | 2 |
| 2006 | Termination proofs for systems codeabstractProgram termination is central to the process of ensuring that systems code can always react. We describe a new program termination prover that performs a path-sensitive and context-sensitive program analysis and provides capacity for large program fragments (i.e. more than 20,000 lines of code) together with support for programming language features such as arbitrarily nested loops, pointers, function-pointers, side-effects, etc.We also present experimental results on device driver dispatch routines from theWindows operating system. The most distinguishing aspect of our tool is how it shifts the balance between the two tasks of constructing and respectively checking the termination argument. Checking becomes the hard step. In this paper we show how we solve the corresponding challenge of checking with binary reachability analysis. Byron Cook, Andreas Podelski, Andrey Rybalchenko |
PLDI | 2 |
| 2006 | Field Constraint Analysis
Thomas Wies, Viktor Kuncak, Patrick Lam 0001, Andreas Podelski, Martin C. Rinard |
VMCAI | 4 |
| 2006 | Tools and algorithms for the construction and analysis of systems
Kurt Jensen, Andreas Podelski |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2005 | Summaries for While Programs with Recursion
Andreas Podelski, Ina Schaefer, Silke Wagner |
ESOP | 1 |
| 2005 | Transition predicate abstraction and fair terminationabstractPredicate abstraction is the basis of many program verification tools. Until now, the only known way to overcome the inherent limitation of predicate abstraction to safety properties was to manually annotate the finite-state abstraction of a program. We extend predicate abstraction to transition predicate abstraction. Transition predicate abstraction goes beyond the idea of finite abstract-state programs (and checking the absence of loops). Instead, our abstraction algorithm transforms a program into a finite abstract-transition program. Then, a second algorithm checks fair termination. The two algorithms together yield an automated method for the verification of liveness properties under full fairness assumptions (justice and compassion). In summary, we exhibit principles that extend the applicability of predicate abstraction-based program verification to the full set of temporal properties. Andreas Podelski, Andrey Rybalchenko |
POPL | 1 |
| 2005 | Abstraction Refinement for Termination
Byron Cook, Andreas Podelski, Andrey Rybalchenko |
SAS | 2 |
| 2005 | Boolean Heaps
Andreas Podelski, Thomas Wies |
SAS | 1 |
| 2005 | Separating Fairness and Well-Foundedness for the Analysis of Fair Discrete Systems
Amir Pnueli, Andreas Podelski, Andrey Rybalchenko |
TACAS | 2 |
| 2005 | Verification of cryptographic protocols: tagging enforces termination
Bruno Blanchet, Andreas Podelski |
Theor. Comput. Sci. | 2 |
| 2005 | Special issue
Kurt Jensen, Andreas Podelski |
Theor. Comput. Sci. | 2 |
| 2004 | Constraints in Program Analysis and Verification
Andreas Podelski |
CP | 1 |
| 2004 | Transition InvariantsabstractProof rules for program verification rely on auxiliary assertions. We propose a (sound and relatively complete) proof rule whose auxiliary assertions are transition invariants. A transition invariant of a program is a binary relation over program states that contains the transitive closure of the transition relation of the program. A relation is disjunctively well-founded if it is a finite union of well-founded relations. We characterize the validity of termination or another liveness property by the existence of a disjunctively well-founded transition invariant. The main contribution of our proof rule lies in its potential for automation via abstract interpretation. Andreas Podelski, Andrey Rybalchenko |
LICS | 1 |
| 2004 | A Complete Method for the Synthesis of Linear Ranking Functions
Andreas Podelski, Andrey Rybalchenko |
VMCAI | 1 |
| 2004 | Introduction to the Special Issue on Verification and Computational LogicabstractThe past decade has seen dramatic growth in the application of model checking techniques to the validation and verification of correctness properties of hardware, and more recently software systems. Recently, there has been increasing interest in applying logic programming techniques to model checking in particular and verification in general. For example, table-based logic programming can be used as an efficient means of performing explicit model checking. Other research has successfully exploited set-based logic program analysis, constraint logic programming, and logic program transformation techniques to verify systems. Michael Leuschel, Andreas Podelski, C. R. Ramakrishnan 0001, Ulrich Ultes-Nitsche |
Theory Pract. Log. Program. | 2 |
| 2003 | Verification of Cryptographic Protocols: Tagging Enforces Termination
Bruno Blanchet, Andreas Podelski |
FoSSaCS | 2 |
| 2003 | Software Model Checking with Abstraction Refinement
Andreas Podelski |
VMCAI | 1 |
| 2003 | Boolean and Cartesian abstraction for model checking C programs
Thomas Ball 0001, Andreas Podelski, Sriram K. Rajamani |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2002 | Constraint-Based Infinite Model Checking and Tabulation for Stratified CLP
Witold Charatonik, Supratik Mukhopadhyay, Andreas Podelski |
ICLP | 3 |
| 2002 | Relative Completeness of Abstraction Refinement for Software Model Checking
Thomas Ball 0001, Andreas Podelski, Sriram K. Rajamani |
TACAS | 2 |
| 2002 | Set Constraints with Intersection
Witold Charatonik, Andreas Podelski |
Inf. Comput. | 2 |
| 2001 | Constraint Database Models Characterizing Timed Bisimilarity
Supratik Mukhopadhyay, Andreas Podelski |
PADL | 2 |
| 2001 | Model Checking Communication Protocols
Pablo Argón, Giorgio Delzanno, Supratik Mukhopadhyay, Andreas Podelski |
SOFSEM | 4 |
| 2001 | Boolean and Cartesian Abstraction for Model Checking C Programs
Thomas Ball 0001, Andreas Podelski, Sriram K. Rajamani |
TACAS | 2 |
| 2001 | Constraint-based deductive model checking
Giorgio Delzanno, Andreas Podelski |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2000 | Paths vs. Trees in Set-Based Program AnalysisabstractSet-based analysis of logic programs provides an accurate method for descriptive type-checking of logic programs. The key idea of this method is to upper approximate the least model of the program by a regular set of trees. In 1991, Frühwirth, Shapiro, Vardi and Yardeni raised the question whether it can be more efficient to use the domain of sets of paths instead, i.e., to approximate the least model by a regular set of words. We answer the question negatively by showing that type-checking for path-based analysis is as hard as the set-based one, that is DEXPTIME-complete. This result has consequences also in the areas of set constraints, automata theory and model checking. Witold Charatonik, Andreas Podelski, Jean-Marc Talbot |
POPL | 2 |
| 2000 | Efficient Algorithms for pre* and post* on Interprocedural Parallel Flow GraphsabstractThis paper is a contribution to the already existing series of work on the algorithmic principles of interprocedural analysis. We consider the generalization to the case of parallel programs. We give algorithms that compute the sets of backward resp. forward reachable configurations for parallel flow graph systems in linear time in the size of the graph viz. the program. These operations are important in dataflow analysis and in model checking. In our method, we first model configurations as terms (viz. trees) in the process algebra PA that can express call stack operations and parallelism. We then give a 'declarative' Horn-clause specification of the sets of predecessors resp. successors. The 'operational' computation of these sets is carried out using the Dowling-Gallier procedure for HornSat. Javier Esparza, Andreas Podelski |
POPL | 2 |
| 2000 | Model Checking as Constraint Solving
Andreas Podelski |
SAS | 1 |
| 1999 | Set-Based Failure Analysis for Logic Programs and Concurrent Constraint Programs
Andreas Podelski, Witold Charatonik, Martin Müller 0001 |
ESOP | 1 |
| 1999 | Beyond Region Graphs: Symbolic Forward Analysis of Timed Automata
Supratik Mukhopadhyay, Andreas Podelski |
FSTTCS | 2 |
| 1999 | Model Checking in CLP
Giorgio Delzanno, Andreas Podelski |
TACAS | 2 |
| 1998 | The Horn Mu-calculusabstractThe Horn /spl mu/-calculus is a logic programming language allowing arbitrary nesting of least and greatest fixed points. The Horn /spl mu/-programs can naturally express safety and liveness properties for reactive systems. We extend the set-based analysis of classical logic programs by mapping arbitrary /spl mu/-programs into "uniform" /spl mu/-programs. Our two main results are that uniform /spl mu/-programs express regular sets of trees and that emptiness for uniform /spl mu/-programs is EXPTIME-complete. Hence we have a nontrivial decidable relaxation for the Horn /spl mu/-calculus. In a different reading, the results express a kind of robustness of the notion of regularity: alternating Rabin tree automata preserve the same expressiveness and algorithmic complexity if we extend them with pushdown transition rules (in the same way Buchi extended word automata to canonical systems). Witold Charatonik, David A. McAllester, Damian Niwinski, Andreas Podelski, Igor Walukiewicz |
LICS | 4 |
| 1998 | Co-definite Set Constraints
Witold Charatonik, Andreas Podelski |
RTA | 2 |
| 1998 | Directional Type Inference for Logic Programs
Witold Charatonik, Andreas Podelski |
SAS | 2 |
| 1998 | Set-Based Analysis of Reactive Infinite-State Systems
Witold Charatonik, Andreas Podelski |
TACAS | 2 |
| 1997 | Ordering Constraints over Feature Trees
Martin Müller 0001, Joachim Niehren, Andreas Podelski |
CP | 3 |
| 1997 | Set Constraints: A Pearl in Research on Constraints
Leszek Pacholski, Andreas Podelski |
CP | 2 |
| 1997 | Set Constraints with IntersectionabstractSet constraints are inclusions between expressions denoting sets of trees. The efficiency of their satisfiability test is a central issue in set-based program analysis, their main application domain. We introduce the class of set constraints with intersection (the only operators forming the expressions are constructors and intersection) and show that its satisfiability problem is DEXPTIME-complete. The complexity characterization continues to hold for negative set constraints with intersection (which have positive and negated inclusions). We reduce the satisfiability problem for these constraints to one over the interpretation domain of nonempty sets of trees. Set constraints with intersection over the domain of nonempty sets of trees enjoy the fundamental property of independence of negated conjuncts. This allows us to handle each negated inclusion separately by the entailment algorithm that we devise. We furthermore prove that set constraints with intersection are equivalent to the class of definite set constraints and thereby settle the complexity question of the historically first class for which the decidability question was solved. Witold Charatonik, Andreas Podelski |
LICS | 2 |
| 1997 | Minimal Ascending and Descending Tree AutomataabstractWe propose a generalization of the notion "deterministic" to "l-r-deterministic" for descending tree automata (also called root-to-frontier). The corresponding subclass of recognizable tree languages is characterized by a structural property that we name "homogeneous." Given a descending tree automaton recognizing a homogeneous tree language, it can be left-to-right (l-r) determinized and then minimized. The obtained minimal l-r-deterministic tree automaton is characterized algebraically. We exhibit a formal correspondence between the two evaluation modes on trees (ascending and descending) and the two on words (right-to-left and left-to-right). This is possible by embedding trees into the free monoid of pointed trees. We obtain a unified view of the theories of minimization of deterministic ascending and l-r-deterministic descending tree automata. Maurice Nivat, Andreas Podelski |
SIAM J. Comput. | 2 |
| 1997 | Situated Simplification
Andreas Podelski, Gert Smolka |
Theor. Comput. Sci. | 1 |
| 1996 | The Independence Property of a Class of Set Constraints
Witold Charatonik, Andreas Podelski |
CP | 2 |
| 1995 | Situated Simplification
Andreas Podelski, Gert Smolka |
CP | 1 |
| 1995 | Operational Semantics of Constraint Logic Programs with Coroutining
Andreas Podelski, Gert Smolka |
ICLP | 1 |
| 1995 | Situated Simplification
Andreas Podelski, Gert Smolka |
ICLP | 1 |
| 1994 | A Feature Constraint System for Logic Programming with Entailment
Hassan Aït-Kaci, Andreas Podelski, Gert Smolka |
Theor. Comput. Sci. | 2 |
| 1994 | Rabin Tree Automata and Finite Monoids
Danièle Beauquier, Andreas Podelski |
Theor. Comput. Sci. | 2 |
| 1994 | Functions as Passive Constraints in LIFEabstractLIFE is a programming language proposing to integrate logic programming, functional programming, and object-oriented programming. It replaces first-order terms with ψ-terms, data structures that allow computing with partial information. These are approximation structures denoting sets of values. LIFE further enriches the expressiveness of ψ-terms with functional dependency constraints. We must explain the meaning and use of functions in LIFE declaratively, as solving partial information constraints. These constraints do not attempt to generate their solutions but behave as demons filtering out anything else. In this manner, LIFE functions act as declarative coroutines. We need to show that the ψ-term's approximation semantics is congruent with an operational semantics viewing functional reduction as an effective enforcing of passive constraints. In this article, we develop a general formal framework for entailment and disentailment of constraints based on a technique called relative simplification. We study its operational and semantical properties, and we use it to account for functional application over ψ-terms in LIFE. Hassan Aït-Kaci, Andreas Podelski |
ACM Trans. Program. Lang. Syst. | 2 |
| 1993 | Entailment and Disentailment of Order-Sorted Feature Constraints
Hassan Aït-Kaci, Andreas Podelski |
LPAR | 2 |
| 1993 | Rabin Tree Automata and Finite Monoids
Danièle Beauquier, Andreas Podelski |
MFCS | 2 |
| 1993 | Ultimately Periodic Words of Rational w-Languages
Hugues Calbrix, Maurice Nivat, Andreas Podelski |
MFPS | 3 |
| 1993 | Equational and Membership Constraints for Finite Trees
Joachim Niehren, Andreas Podelski, Ralf Treinen |
RTA | 2 |
| 1992 | On Reverse and General Definite Tree Languages (Extended Abstract)
Pierre Péladeau, Andreas Podelski |
ICALP | 2 |
| 1991 | A Geometrical View of the Determinization and Minimization of Finite-State Automata
Bruno Courcelle, Damian Niwinski, Andreas Podelski |
Math. Syst. Theory | 3 |