Network


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

Hotspot


Dive into the research topics where Stephan Wilhelm is active.

Publication


Featured researches published by Stephan Wilhelm.


languages compilers and tools for embedded systems | 2002

Generic control flow reconstruction from assembly code

Daniel Kästner; Stephan Wilhelm

Processors used in embedded systems are usually characterized by specialized irregular hardware architectures for which traditional code generation and optimization techniques fail. Especially for these types of processors the Propan system has been developed that enables high-quality machine-dependent postpass optimizers to be generated from a concise hardware specification. Optimizing code transformations as featured by Propan require the control flow graph of the input program to be known. The control flow reconstruction algorithm is generic, i.e. machine-independent, and automatically derives the required hardware-specific knowledge from the machine specification. The reconstruction is based on an extended program slicing mechanism and is tailored to assembly programs. It has been retargeted to assembly programs of two contemporary microprocessors, the Analog Devices SHARC and the Philips TriMedia TM1000. Experimental results show that the assembly-based slicing enables the control flow graph of large assembly programs to be constructed in short time. Our experiments also demonstrate that the hardware design significantly influences the precision of the control flow reconstruction and the required computation time.


verification, model checking and abstract interpretation | 2010

Static timing analysis for hard real-time systems

Reinhard Wilhelm; Sebastian Altmeyer; Claire Burguière; Daniel Grund; Jörg Herter; Jan Reineke; Björn Wachter; Stephan Wilhelm

Hard real-time systems have to satisfy strict timing constraints. To prove that these constraints are met, timing analyses aim to derive safe upper bounds on tasks’ execution times. Processor components such as caches, out-of-order pipelines, and speculation cause a large variation of the execution time of instructions, which may induce a large variability of a task’s execution time. The architectural platform also determines the precision and the complexity of timing analysis. This paper provides an overview of our timing-analysis technique and in particular the methodological aspects of interest to the verification community.


embedded software | 2009

Symbolic state traversal for WCET analysis

Stephan Wilhelm; Björn Wachter

Static worst-case execution time analysis of real-time tasks is based on abstract models that capture the timing behavior of the processor on which the tasks run. For complex processors, task-level execution time bounds are obtained by a state exploration which involves the abstract model and the program. Partial state space exploration is not sound. A full exploration can become too expensive. We present a novel symbolic method for WCET analysis based on abstract pipeline models which produces sound results and is scalable in terms of the considered hardware states.


Archive | 2011

Symbolic representations in WCET analysis

Stephan Wilhelm

Reliable task-level execution time information is indispensable for validating the correct operation of safety-critical embedded real-time systems. Static worst-case execution time (WCET) analysis is a method that computes safe upper bounds of the execution time of single uninterrupted tasks. The method is based on abstract interpretation and involves abstract hardware models that capture the timing behavior of the processor on which the tasks run. For complex processors, task-level execution time bounds are obtained by a state space exploration which involves the abstract model and the program. Partial state space exploration is not sound. A full exploration can become too expensive. Symbolic state space exploration methods using binary decision diagrams (BDDs) are known to provide efficient means for covering large state spaces. This work presents a symbolic method for the efficient state space exploration of abstract pipeline models in the context of static WCET analysis. The method has been implemented for the Infineon TriCore 1 which is a real-life processor of medium complexity. Experimental results on a set of benchmarks and an automotive industry application demonstrate that the approach improves the scalability of static WCET analysis while maintaining soundness. Zuverlassige Informationen uber die Ausfuhrungszeiten von Programmen sind unerlasslich, um das korrekte Verhalten von sicherheitskritischen eingebetteten Echtzeitsystemen zu garantieren. Die statische Analyse der langsten Ausfuhrungszeit, der sogenannten WCET, ist eine Methode zur Berechnung sicherer oberer Schranken der Ausfuhrungszeiten einzelner, nicht unterbrochener Programmtasks. Sie beruht auf der Methode der Abstrakten Interpretation und verwendet abstrakte Modelle, die das Zeitverhalten des Prozessors erfassen, auf dem die Programme ausgefuhrt werden. Die Berechnung der Ausfuhrungszeitschranken komplexer Prozessoren basiert auf der Exploration eines Zustandsraums, der sowohl das abstrakte Modell, als auch das Programm umfasst. Eine nur teilweise Abdeckung dieses Zustandsraums liefert dabei keine verlasslichen Ergebnisse. Eine vollstandige Exploration ist hingegen sehr aufwandig. Symbolische Methoden, die binare Entscheidungsdiagramme (BDDs) verwenden, sind dafur bekannt, dass sie die effiziente Abdeckung groser Zustandsraume erlauben. Die vorliegende Arbeit stellt eine symbolische Methode zur effizienten Exploration von Zustandsraumen abstrakter Pipelinemodelle im Rahmen der statischen WCET-Analyse vor. Die Methode wurde fur einen realen Prozessor mittlerer Komplexitat, den Infineon TriCore 1, implementiert. Ergebnisse von Experimenten mit Benchmarks sowie mit einer Anwendung aus dem Automobilbereich zeigen, dass der Ansatz die Skalierbarkeit statischer WCET-Analyse verbessert, wobei die Zuverlassigkeit der berechneten Schranken gewahrt bleibt.


worst case execution time analysis | 2010

Integrating Abstract Caches with Symbolic Pipeline Analysis

Stephan Wilhelm; Christoph Cullmann

Static worst-case execution time analysis of real-time tasks is based on abstract models that capture the timing behavior of the processor on which the tasks run. For complex processors, task-level execution time bounds are obtained by a state space exploration which involves the abstract model and the program. Partial state space exploration is not sound. Symbolic methods using binary decision diagrams (BDDs) allow for a full state space exploration of the pipeline, thereby maintaining soundness. Caches are too large to admit an efficient BDD representation. On the other hand, invariants of the cache state can be computed efficiently using abstract interpretation. How to integrate abstract caches with symbolic-state pipeline analysis is an open question. We propose a semi-symbolic domain to solve this problem. Statistical data from industrial-level software and WCET tools indicate that this new domain will enable an efficient analysis.


WCX™ 17: SAE World Congress Experience | 2017

Finding All Potential Run-Time Errors and Data Races in Automotive Software

Daniel Kaestner; Antoine Miné; André Schmidt; Heinz Hille; Laurent Mauborgne; Stephan Wilhelm; Xavier Rival; Jérôme Feret; Patrick Cousot; Christian Ferdinand

Safety-critical embedded software has to satisfy stringent quality requirements. All contemporary safety standards require evidence that no data races and no critical run-time errors occur, such as invalid pointer accesses, buffer overflows, or arithmetic overflows. Such errors can cause software crashes, invalidate separation mechanisms in mixed-criticality software, and are a frequent cause of errors in concurrent and multi-core applications. The static analyzer AstrA©e has been extended to soundly and automatically analyze concurrent software. This novel extension employs a scalable abstraction which covers all possible thread interleavings, and reports all potential run-time errors, data races, deadlocks, and lock/unlock problems. When the analyzer does not report any alarm, the program is proven free from those classes of errors. Dedicated support for ARINC 653 and OSEK/AUTOSAR enables a fully automatic OS-aware analysis. In this article we give an overview of the key concepts of the concurrency analysis and report on experimental results obtained on concurrent automotive software. The experiments confirm that the novel analysis can be successfully applied to real automotive software projects.


Archive | 2010

Astrée: Proving the Absence of Runtime Errors

Daniel Kästner; Stephan Wilhelm; Stefana Nenova; Patrick Cousot; Radhia Cousot; Jérôme Feret; Laurent Mauborgne; Antoine Miné; Xavier Rival


worst case execution time analysis | 2007

Efficient Analysis of Pipeline Models for WCET Computation

Stephan Wilhelm


GI Jahrestagung (1) | 2003

Validierung des Zeitverhaltens von kritischer Echtzeit-Software.

Christian Ferdinand; Daniel Kästner; Florian Martin; Marc Langenbach; Martin Sicks; Stephan Wilhelm; Reinhold Heckmann; Nicolas Fritz; Stephan Thesing; Frank Fontaine; Henrik Theiling; Michael Schmidt; Alexander A. Evstiougov-Babaev; Reinhard Wilhelm


8th European Congress on Embedded Real Time Software and Systems (ERTS 2016) | 2016

Taking Static Analysis to the Next Level: Proving the Absence of Run-Time Errors and Data Races with Astrée

Antoine Miné; Laurent Mauborgne; Xavier Rival; Jérôme Feret; Patrick Cousot; Daniel Kästner; Stephan Wilhelm; Christian Ferdinand

Collaboration


Dive into the Stephan Wilhelm's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Antoine Miné

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Laurent Mauborgne

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar

Radhia Cousot

École Normale Supérieure

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge