Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Stefan Löwe is active.

Publication


Featured researches published by Stefan Löwe.


international workshop on model checking software | 2015

Benchmarking and Resource Measurement

Dirk Beyer; Stefan Löwe; Philipp Wendler

Proper benchmarking and resource measurement is an important topic, because benchmarking is a widely-used method for the comparative evaluation of tools and algorithms in many research areas. It is essential for researchers, tool developers, and users, as well as for competitions. We formulate a set of requirements that are indispensable for reproducible benchmarking and reliable resource measurement of automatic solvers, verifiers, and similar tools, and discuss limitations of existing methods and benchmarking tools. Fulfilling these requirements in a benchmarking framework is complex and can on Linux currently only be done by using the cgroups feature of the kernel. We provide [Figure not available: see fulltext.], a ready-to-use, tool-independent, and free implementation of a benchmarking framework that fulfills all presented requirements, making reproducible benchmarking and reliable resource measurement easy. Our framework is able to work with a wide range of different tools and has proven its reliability and usefulness in the International Competition on Software Verification.


foundations of software engineering | 2013

Precision reuse for efficient regression verification

Dirk Beyer; Stefan Löwe; Evgeny Novikov; Andreas Stahlbauer; Philipp Wendler

Continuous testing during development is a well-established technique for software-quality assurance. Continuous model checking from revision to revision is not yet established as a standard practice, because the enormous resource consumption makes its application impractical. Model checkers compute a large number of verification facts that are necessary for verifying if a given specification holds. We have identified a category of such intermediate results that are easy to store and efficient to reuse: abstraction precisions. The precision of an abstract domain specifies the level of abstraction that the analysis works on. Precisions are thus a precious result of the verification effort and it is a waste of resources to throw them away after each verification run. In particular, precisions are reasonably small and thus easy to store; they are easy to process and have a large impact on resource consumption. We experimentally show the impact of precision reuse on industrial verification problems created from 62 Linux kernel device drivers with 1119 revisions.


SPIN 2015 Proceedings of the 22nd International Symposium on Model Checking Software - Volume 9232 | 2015

Refinement Selection

Dirk Beyer; Stefan Löwe; Philipp Wendler

Counterexample-guided abstraction refinement CEGAR is a property-directed approach for the automatic construction of an abstract model for a given system. The approach learns information from infeasible error paths in order to refine the abstract model. We address the problem of selecting which information to learn from a given infeasible error path. In previous work, we presented a method that enables refinement selection by extracting a set of sliced prefixes from a given infeasible error path, each of which represents a different reason for infeasibility of the error path and thus, a possible way to refine the abstract model. In this work, we 1 define and investigate several promising heuristics for selecting an appropriate precision for refinement, and 2 propose a new combination of a value analysis and a predicate analysis that does not only find out which information to learn from an infeasible error path, but automatically decides which analysis should be preferred for a refinement. These contributions allow a more systematic refinement strategy for CEGAR-based analyses. We evaluated the idea on software verification. We provide an implementation of the new concepts in the verification framework [Figure not available: see fulltext.] and make it publicly available. In a thorough experimental study, we show that refinement selection often avoids state-space explosion where existing approaches diverge, and that it can be even more powerful if applied on a higher level, where it decides which analysis of a combination should be favored for a refinement.


tools and algorithms for construction and analysis of systems | 2012

CPACHECKER with adjustable predicate analysis

Stefan Löwe; Philipp Wendler

CPAchecker is a freely available software-verification framework, built on the concepts of Configurable Program Analysis (CPA ). CPAchecker integrates most of the state-of-the-art technologies for software model checking, such as counterexample-guided abstraction refinement (CEGAR), lazy predicate abstraction, interpolation-based refinement, and large-block encoding. The CPA for predicate analysis with adjustable-block encoding (ABE) is very promising in many categories, and thus, we submit a CPAchecker configuration that uses this analysis approach to the competition.


formal techniques for (networked and) distributed systems | 2015

Sliced Path Prefixes: An Effective Method to Enable Refinement Selection

Dirk Beyer; Stefan Löwe; Philipp Wendler

Automatic software verification relies on constructing, for a given program, an abstract model that is (1) abstract enough to avoid state-space explosion and (2) precise enough to reason about the specification. Counterexample-guided abstraction refinement is a standard technique that suggests to extract information from infeasible error paths, in order to refine the abstract model if it is too imprecise. Existing approaches —including our previous work— do not choose the refinement for a given path systematically. We present a method that generates alternative refinements and allows to systematically choose a suited one. The method takes as input one given infeasible error path and applies a slicing technique to obtain a set of new error paths that are more abstract than the original error path but still infeasible, each for a different reason. The (more abstract) constraints of the new paths can be passed to a standard refinement procedure, in order to obtain a set of possible refinements, one for each new path. Our technique is completely independent from the abstract domain that is used in the program analysis, and does not rely on a certain proof technique, such as SMT solving. We implemented the new algorithm in the verification framework CPAchecker and made our extension publicly available. The experimental evaluation of our technique indicates that there is a wide range of possibilities on how to refine the abstract model for a given error path, and we demonstrate that the choice of which refinement to apply to the abstract model has a significant impact on the verification effectiveness and efficiency.


International Journal on Software Tools for Technology Transfer | 2017

Reliable benchmarking: requirements and solutions

Dirk Beyer; Stefan Löwe; Philipp Wendler

Benchmarking is a widely used method in experimental computer science, in particular, for the comparative evaluation of tools and algorithms. As a consequence, a number of questions need to be answered in order to ensure proper benchmarking, resource measurement, and presentation of results, all of which is essential for researchers, tool developers, and users, as well as for tool competitions. We identify a set of requirements that are indispensable for reliable benchmarking and resource measurement of time and memory usage of automatic solvers, verifiers, and similar tools, and discuss limitations of existing methods and benchmarking tools. Fulfilling these requirements in a benchmarking framework can (on Linux systems) currently only be done by using the cgroup and namespace features of the kernel. We developed BenchExec, a ready-to-use, tool-independent, and open-source implementation of a benchmarking framework that fulfills all presented requirements, making reliable benchmarking and resource measurement easy. Our framework is able to work with a wide range of different tools, has proven its reliability and usefulness in the International Competition on Software Verification, and is used by several research groups worldwide to ensure reliable benchmarking. Finally, we present guidelines on how to present measurement results in a scientifically valid and comprehensible way.


tools and algorithms for construction and analysis of systems | 2013

CPACHECKER with explicit-value analysis based on CEGAR and interpolation

Stefan Löwe

CPAchecker is a freely available software-verification framework, built on the concepts of Configurable Program Analysis (CPA). Within CPAchecker, several such CPAs are available, e.g., a Predicate-CPA, building on the predicate domain, as well as an Explicit-CPA, in which an abstract state is represented as an explicit variable assignment. In the CPAchecker configuration we are submitting, the highly efficient Explicit-CPA, backed by interpolation-based counterexample-guided abstraction refinement, joins forces with an auxiliary Predicate-CPA in a setup utilizing dynamic precision adjustment. This combination constitutes a highly promising verification tool, and thus, we submit a configuration making use of this analysis approach.


fundamental approaches to software engineering | 2013

Explicit-State software model checking based on CEGAR and interpolation

Dirk Beyer; Stefan Löwe


tools and algorithms for construction and analysis of systems | 2014

CPAchecker with Sequential Combination of Explicit-Value Analyses and Predicate Analyses - (Competition Contribution).

Stefan Löwe; Mikhail U. Mandrykin; Philipp Wendler


tools and algorithms for construction and analysis of systems | 2015

CPAchecker with Support for Recursive Programs and Floating-Point Arithmetic

Matthias Dangl; Stefan Löwe; Philipp Wendler

Collaboration


Dive into the Stefan Löwe's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge