Catálogo de publicaciones - libros
Programming Languages and Systems: 4th Asian Symposium, APLAS 2006, Sydney, Australia, November 8-10, 2006, Proceedings
Naoki Kobayashi (eds.)
En conferencia: 4º Asian Symposium on Programming Languages and Systems (APLAS) . Sydney, NSW, Australia . November 8, 2006 - November 10, 2006
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 | 2006 | SpringerLink |
Información
Tipo de recurso:
libros
ISBN impreso
978-3-540-48937-5
ISBN electrónico
978-3-540-48938-2
Editor responsable
Springer Nature
País de edición
Reino Unido
Fecha de publicación
2006
Información sobre derechos de publicación
© Springer-Verlag Berlin Heidelberg 2006
Cobertura temática
Tabla de contenidos
doi: 10.1007/11924661_11
Widening Polyhedra with Landmarks
Axel Simon; Andy King
The abstract domain of polyhedra is sufficiently expressive to be deployed in verification. One consequence of the richness of this domain is that long, possibly infinite, sequences of polyhedra can arise in the analysis of loops. Widening and narrowing have been proposed to infer a single polyhedron that summarises such a sequence of polyhedra. Motivated by precision losses encountered in verification, we explain how the classic widening/narrowing approach can be refined by an improved extrapolation strategy. The insight is to record inequalities that are thus far found to be unsatisfiable in the analysis of a loop. These so-called landmarks hint at the amount of widening necessary to reach stability. This extrapolation strategy, which refines widening with thresholds, can infer post-fixpoints that are precise enough not to require narrowing. Unlike previous techniques, our approach interacts well with other domains, is fully automatic, conceptually simple and precise on complex loops.
Palabras clave: Convex Polyhedron; Loop Iteration; Abstract Interpretation; Abstract Domain; Widening Point.
- Session 4 | Pp. 166-182
doi: 10.1007/11924661_12
Comparing Completeness Properties of Static Analyses and Their Logics
David A. Schmidt
Static analyses calculate abstract states, and their logics validate properties of the abstract states. We place into perspective the variety of forwards, backwards, functional, and logical completeness used in abstract-interpretation-based static analysis by giving examples and by proving equivalences, implications, and independences. We expose two fundamental Galois connections that underlie the logics for static analyses and reveal a new completeness variant, O-completeness . We also show that the key concept underlying logical completeness is covering , which we use to relate the various forms of completeness.
- Session 4 | Pp. 183-199
doi: 10.1007/11924661_13
Polymorphism, Subtyping, Whole Program Analysis and Accurate Data Types in Usage Analysis
Tobias Gedell; Jörgen Gustavsson; Josef Svenningsson
There are a number of choices to be made in the design of a type based usage analysis. Some of these are: Should the analysis be monomorphic or have some degree of polymorphism? What about subtyping? How should the analysis deal with user defined algebraic data types? Should it be a whole program analysis? Several researchers have speculated that these features are important but there has been a lack of empirical evidence. In this paper we present a systematic evaluation of each of these features in the context of a full scale implementation of a usage analysis for Haskell. Our measurements show that all features increase the precision. It is, however, not necessary to have them all to obtain an acceptable precision.
Palabras clave: Usage Analysis; Program Transformation; Context Sensitivity; Program Point; Call Site.
- Session 4 | Pp. 200-216
doi: 10.1007/11924661_14
A Modal Language for the Safety of Mobile Values
Sungwoo Park
In the context of distributed computations, local resources give rise to an issue not found in stand-alone computations: the safety of mobile code. One approach to the safety of mobile code is to build a modal type system with the modality □ that corresponds to necessity of modal logic. We argue that the modality □ is not expressive enough for safe communications in distributed computations, in particular for the safety of mobile values. We present a modal language which focuses on the safety of mobile values rather than the safety of mobile code. The safety of mobile values is achieved with a new modality $\boxdot$ which expresses that given code evaluates to a mobile value. We demonstrate the use of the modality $\boxdot$ with a communication construct for remote procedure calls.
Palabras clave: Modal Logic; Type System; Node Reference; Modal Language; Elimination Rule.
- Session 5 | Pp. 217-233
doi: 10.1007/11924661_15
An Analysis for Proving Temporal Properties of Biological Systems
Roberta Gori; Francesca Levi
This paper concerns the application of formal methods to biological systems, modeled specifically in BioAmbients [34], a variant of the Mobile Ambients [4] calculus. Following the semantic-based approach of abstract interpretation, we define a new static analysis that computes an abstract transition system. Our analysis has two main advantages with respect to the analyses appearing in literature: (i) it is able to address temporal properties which are more general than invariant properties; (ii) it supports, by means of a particular labeling discipline , the validation of systems where several copies of an ambient may appear.
Palabras clave: Model Check; Abstract State; Temporal Property; Abstract Interpretation; Reachability Analysis.
- Session 5 | Pp. 234-252
doi: 10.1007/11924661_16
Computational Secrecy by Typing for the Pi Calculus
Martín Abadi; Ricardo Corin; Cédric Fournet
We define and study a distributed cryptographic implementation for an asynchronous pi calculus. At the source level, we adapt simple type systems designed for establishing formal secrecy properties. We show that those secrecy properties have counterparts in the implementation, not formally but at the level of bitstrings, and with respect to probabilistic polynomial-time active adversaries. We rely on compilation to a typed intermediate language with a fixed scheduling strategy. While we exploit interesting, previous theorems for that intermediate language, our result appears to be the first computational soundness theorem for a standard process calculus with mobile channels.
Palabras clave: Input Process; Source Process; Mobile Channel; Intermediate Language; Secrecy Property.
- Session 5 | Pp. 253-269
doi: 10.1007/11924661_17
Scheme with Classes, Mixins, and Traits
Matthew Flatt; Robert Bruce Findler; Matthias Felleisen
The Scheme language report advocates language design as the composition of a small set of orthogonal constructs, instead of a large accumulation of features. In this paper, we demonstrate how such a design scales with the addition of a class system to Scheme. Specifically, the PLT Scheme class system is a collection of orthogonal linguistic constructs for creating classes in arbitrary lexical scopes and for manipulating them as first-class values. Due to the smooth integration of classes and the core language, programmers can express mixins and traits, two major recent innovations in the object-oriented world. The class system is implemented as a macro in terms of procedures and a record-type generator; the mixin and trait patterns, in turn, are naturally codified as macros over the class system.
Palabras clave: Class System; Method Call; Multiple Inheritance; Initialization Argument; Method Declaration.
- Invited Tutorial | Pp. 270-289
doi: 10.1007/11924661_18
Using Metadata Transformations to Integrate Class Extensions in an Existing Class Hierarchy
Markus Lumpe
Class extensions provide a fine-grained mechanism to define incremental modifications to class-based systems when standard subclassing mechanisms are inappropriate. To control the impact of class extensions, the concept of classboxes has emerged that defines a new module system to restrict the visibility of class extensions to selected clients. However, the existing implementations of the classbox concept rely either on a “classbox-aware” virtual machine, an expensive runtime introspection of the method call stack to build the structure of a classbox, or both. In this paper we present an implementation technique that allows for the structure of a classbox to be constructed at compile-time by means of metadata transformations to rewire the inheritance graph of refined classes. These metadata transformations are language-neutral and more importantly preserve both the semantics of the classbox concept and the integrity of the underlying deployment units. As a result, metadata transformation provides a feasible approach to incorporate the classbox concept into programming environments that use a virtual execution system .
Palabras clave: Virtual Machine; Class Hierarchy; Class Point; Class Extension; Text Section.
- Session 6 | Pp. 290-306
doi: 10.1007/11924661_19
Combining Offline and Online Optimizations: Register Allocation and Method Inlining
Hiroshi Yamauchi; Jan Vitek
Fast dynamic compilers trade code quality for short compilation time in order to balance application performance and startup time. This paper investigates the interplay of two of the most effective optimizations, register allocation and method inlining for such compilers. We present a bytecode representation which supports offline global register allocation, is suitable for fast code generation and verification, and yet is backward compatible with standard Java bytecode.
Palabras clave: Compilation Time; Java Virtual Machine; Register Allocation; Online Optimization; Interference Graph.
- Session 6 | Pp. 307-322
doi: 10.1007/11924661_20
A Localized Tracing Scheme Applied to Garbage Collection
Yannis Chicha; Stephen M. Watt
We present a method to visit all nodes in a forest of data structures while taking into account object placement. We call the technique a Localized Tracing Scheme as it improves locality of reference during object tracing activity. The method organizes the heap into regions and uses trace queues to defer and group tracing of remote objects. The principle of localized tracing reduces memory traffic and can be used as an optimization to improve performance at several levels of the memory hierarchy. The method is applicable to a wide range of uniprocessor garbage collection algorithms as well as to shared memory multiprocessor collectors. Experiments with a mark-and-sweep collector show performance improvements up to 75% at the virtual memory level.
Palabras clave: Main Memory; Garbage Collection; Memory Management; Memory Hierarchy; Primary Memory.
- Session 6 | Pp. 323-339