Catálogo de publicaciones - libros
Program Analysis and Compilation, Theory and Practice: Essays Dedicated to Reinhard Wilhelm on the Occasion of His 60th Birthday
Thomas Reps ; Mooly Sagiv ; Jörg Bauer (eds.)
Resumen/Descripción – provisto por la editorial
No disponible.
Palabras clave – provistas por la editorial
No disponibles.
Disponibilidad
Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
---|---|---|---|---|
No detectada | 2007 | SpringerLink |
Información
Tipo de recurso:
libros
ISBN impreso
978-3-540-71315-9
ISBN electrónico
978-3-540-71322-7
Editor responsable
Springer Nature
País de edición
Reino Unido
Fecha de publicación
2007
Información sobre derechos de publicación
© Springer-Verlag Berlin Heidelberg 2007
Cobertura temática
Tabla de contenidos
An Appreciation of the Work of Reinhard Wilhelm
Thomas Reps; Mooly Sagiv; Jörg Bauer
Wilhelm’s career in Computer Science spans more than a third of a century. During this time, he has made numerous research contributions in the areas of programming languages, compilers and compiler generators, static program analysis, program transformation, algorithm animation, and real-time systems; co-founded a company to transfer some of these ideas to industry; held the Chair for Programming Languages and Compiler Construction at Saarland University; and served since its inception as the Scientific Director of the International Conference and Research Center for Computer Science at Schloß Dagstuhl.
- An Appreciation | Pp. 1-11
New Developments in WCET Analysis
Christian Ferdinand; Florian Martin; Christoph Cullmann; Marc Schlickling; Ingmar Stein; Stephan Thesing; Reinhold Heckmann
The worst-case execution time analyzer aiT originally developed by Saarland University and AbsInt GmbH computes safe and precise upper bounds for the WCETs of tasks. It relies on a pipeline model that usually has been handcrafted. We present some new approaches aiming at automatically obtaining a pipeline model as required by aiT from a formal processor description in VHDL or Verilog. The derivation of the total WCET from the basic-block WCETs requires knowledge about upper bounds on the number of loop iterations. We present a new method for loop bound detection using dataflow analysis to derive loop invariants. A task may contain infeasible paths caused by conditionals with logically related conditions. We present a static analysis that identifies and collects conditions from the executable, and relates these collections to detect infeasible paths. This new analysis uses the results of a novel generic slicer on the level of binary code.
- Technical Papers | Pp. 12-52
Realistic Worst-Case Execution Time Analysis in the Context of Pervasive System Verification
Steffen Knapp; Wolfgang Paul
We describe a gate level design of a FlexRay-like bus interface. An electronic control unit (ECU) is obtained by integrating this interface into the design of the verified VAMP processor. We get a time triggered distributed real-time system by connecting several such ECU’s via a common bus. We define a programming model for such a system at the instruction set architecture (ISA) level and prove that it is correctly implemented at the gate level. The proof combines theories of processor correctness, communication systems, program correctness and realistic worst-case execution time (WCET) analysis into a single unified mathematical theory.
- Technical Papers | Pp. 53-81
Lazy Execution of Boolean Queries
Dieter Maurer
Lazy evaluation, the technique to build special data structures allowing to perform an evaluation at a later time, has many uses in functional programming languagues [1,2,3]. This article shows a use in imperative (object oriented) languages: the lazy execution of boolean queries. Applying lazy index lookup can result in drastic gains in search speed and reduce the amount of required main memory.
- Technical Papers | Pp. 82-96
Cryptographic Protocol Verification Using Tractable Classes of Horn Clauses
Helmut Seidl; Kumar Neeraj Verma
We consider secrecy problems for cryptographic protocols modeled using Horn clauses and present general classes of Horn clauses which can be efficiently decided. Besides simplifying the methods for the class of flat and one-variable clauses introduced for modeling of protocols with single blind copying [7,25], we also generalize this class by considering -variable clauses instead of one-variable clauses with suitable restrictions similar to those for the class . This class allows to conveniently model protocols with joint blind copying. We show that for a fixed , our new class can be decided in DEXPTIME, as in the case of one variable.
- Technical Papers | Pp. 97-119
Infering Ownership Types for Encapsulated Object-Oriented Program Components
Arnd Poetzsch-Heffter; Kathrin Geilmann; Jan Schäfer
Modular analyses of object-oriented programs need clear encapsulation boundaries between program components. The reference semantics of object-oriented languages complicates encapsulation. Ownership type systems are a way to guarantee encapsulation. However, they introduce a substantial and nontrivial annotation overhead for the programmer. This is in particular true for type systems with an access policy that is more flexible than owners-as-dominators. As we want to use ownership disciplines as basis for modular analyses, we need the flexibility. However, to keep it practical, the annotation overhead should be kept minimal.
In this paper, we present such a flexible ownership type system together with an inference technique to reduce the annotation overhead. Runtime components in our approach can be accessed via the interface of the owner as well as via other boundary objects with explicitly declared interface types. The resulting type system is quite complex, however, the programmer only has to annotate the interface types of a component. The ownership type information for the classes implementing the components is automatically inferred by a constraint-based algorithm. We proved the soundness of our approach for a Java-like core language.
- Technical Papers | Pp. 120-144
ViDoC - Visual Design of Optimizing Compilers
Tiziana Margaria; Oliver Rüthing; Bernhard Steffen
Designing optimizing compilers is a challenging task that involves numerous mutually interdependent transformations. Often, these interdependencies are only captured in an ad-hoc manner, relying on the ingenuity and experience of the compiler engineers. ViDoC is a tool-kit for the specification-driven, interactive development of program optimizers in a service oriented way. In particular, ViDoC facilitates the specification of dependencies between transformations in terms of modal logic properties and requirements. These specifications can be used for checking, as well as synthesizing, suitable optimization sequences , which are expressed in terms of a workflow (graph) model. ViDoC also offers various kinds of visual support, like the display of flow graphs, call graphs and analysis information, and the visualization and even manipulation of the graphs expressing the optimization workflows. These features make ViDoC especially appropriate for rapid prototyping. ViDoC is constructed on top of the Soot infrastructure project, that targets the manipulation of Java byte code and offers powerful engines for realizing the specified analyzes and transformations. The visualization and workflow handling are designed according to the paradigm of Lightweight Process Coordination, realized in the jABC environment.
- Technical Papers | Pp. 145-159
Abstract Interpretation for Worst and Average Case Analysis
Alessandra Di Pierro; Chris Hankin; Herbert Wiklicky
We review Wilhelm’s work on WCET for hard real-time applications and also recent work on analysis of soft-real time systems using probabilistic methods. We then present Probabilistic Abstract Interpretation (PAI) as a quantitative variation of the classical approach; PAI aims to provide close approximations – this should be contrasted to the safe approximations studied in the standard setting. We discuss the relation between PAI and classical Abstract Interpretation as well as average case analysis.
- Technical Papers | Pp. 160-174
Grammar Analysis and Parsing by Abstract Interpretation
Patrick Cousot; Radhia Cousot
We study abstract interpretations of a fixpoint protoderivation semantics defining the maximal derivations of a transitional semantics of context-free grammars akin to pushdown automata. The result is a hierarchy of bottom-up or top-down semantics refining the classical equational and derivational language semantics and including Knuth grammar problem, classical grammar flow analysis algorithms, and parsing algorithms.
- Technical Papers | Pp. 175-200
Ensuring Properties of Interaction Systems
Gregor Gössler; Susanne Graf; Mila Majster-Cederbaum; Moritz Martens; Joseph Sifakis
We propose results ensuring properties of a component-based system from properties of its interaction model and of its components. We consider here deadlock-freedom and local progress of subsystems. This is done in the framework of interaction systems, a model for component based modelling described in [9]. An interaction system is the superposition of two models: a behavior model and an interaction model. The behavior model describes the behavior of individual components. The interaction model describes the way the components may interact by introducing connectors that relate actions from different components. We illustrate our concepts and results with examples.
- Technical Papers | Pp. 201-224