Reinhard Wilhelm

Learn More
Shape analysis concerns the problem of determining "shape invariants" for programs that perform destructive updating on dynamically allocated storage. This article presents a parametric framework for shape analysis that can be instantiated in different ways to create different shape-analysis algorithms that provide varying degrees of efficiency and(More)
The determination of upper bounds on execution times, commonly called worst-case execution times (WCETs), is a necessary step in the development and validation process for hard real-time systems. This problem is hard if the underlying processor architecture has components, such as caches, pipelines, branch prediction, and other speculative components. This(More)
Precise run-time prediction suffers from a complexity problem when doing an integrated analysis. This problem is characterised by the conflict between an optimal solution and the complexity of the computation of the solution. The analysis of modern hardware consists of two parts: a) the analysis of the microarchitecture's behaviour (caches, pipelines) and(More)
This article concerns the static analysis of programs that performdestructive updating on heap-allocated storage. We give an algorithmthat uses finite shape graphs to approximate conservatively thepossible “shapes” that heap-allocated structures in a program can take on. For certain programs, our technique is able to determinesuch properties(More)
Abstract interpretation is a technique for the static detection of dynamic proper ties of programs It is semantics based that is it computes approximative properties of the semantics of programs On this basis it allows for correctness proofs of anal yses It replaces commonly used ad hoc techniques by systematic provable ones and it allows the automatic(More)
Abstract interpretation is a technique for the static detection of dynamic properties of programs. It is semantics based, that is, it computes approximative properties of the semantics of programs. On this basis, it supports correctness proofs of analyses. It replaces commonly used ad hoc techniques by systematic, provable ones, and it allows for the(More)
The goal of this work is to develop compile-time algorithms for automatically verifying properties of imperative programs that manipulate dynamically allocated storage. The paper presents an analysis method that uses a characterization of a procedure's behavior in which parts of the heap not relevant to the procedure are ignored. The paper has two main(More)
The architecture of tools for the determination of worst-case execution times (WCETs) as well as the precision of the results of WCET analyses strongly depend on the architecture of the employed processor. The cache replacement strategy influences the results of cache behavior prediction, out-of-order execution and control speculation introduce(More)
Hard real-time systems must obey strict timing constraints. Therefore, one needs to derive guarantees on the worst-case execution times of a system’s tasks. In this context, predictable behavior of system components is crucial for the derivation of tight and thus useful bounds. This paper presents results about the predictability of common cache replacement(More)
Interpretation (AI) • AI = semantics based methodology for program analyses • Basic idea of AI: Perform the program's computations using value descriptions or abstract values in place of the concrete values. • Basic idea of the timing analysis: Derive timing information from an approximation of the “collecting semantics” for all inputs • AI supports(More)