Export Citations
This volume contains the papers presented at PEPM'03, the ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation. PEPM'03 was held June 7th 2003 in San Diego, California in conjunction with the Programming Language Design and Implementation conference PLDI'03 as part of the Federated Computing Research Conference FCRC 2003. Due to organizational constraints, PEPM'03 had to be held on a single day, restricting the number of talks that could be presented.Papers were judged on their appropriateness for the workshop, their originality, technical strength and clarity. One submission was deemed outside the scope of PEPM, and all the other submissions were reviewed by at least 3 referees, with some help from the following outside reviewers: Elvira Albert, Stephen Craig, Santiago Escobar, and Carla Piazza. The PC meeting was electronic and resulted in 8 submissions being judged of conference quality' and selected for presentation at the workshop and inclusion in the proceedings.
Slicing and partial evaluation of CORBA component model designs for avionics system
The use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety-critical and mission-critical domains, component-based development is beginning to ...
Fast partial evaluation of pattern matching in strings
We show how to obtain all of Knuth, Morris, and Pratt's linear-time string matcher by partial evaluation of a quadratic-time string matcher with respect to a pattern string. Although it has been known for 15 years how to obtain this linear matcher by ...
Transforming interpreters into inverse interpreters by partial evaluation
The experiments in this paper apply the idea of prototyping programming language tools from robust semantics: we used a partial evaluator (Similix) to turn interpreters into inverse interpreters. This way we generated inverse interpreters for several ...
Implementing typeful program transformations
The notion of program transformation is ubiquitous in programming language studies on interpreters, compilers, partial evaluators, etc. In order to implement a program transformation, we need to choose a representation in the meta language, that is, the ...
Abstract specialization and its applications
The aim of program specialization is to optimize programs by exploiting certain knowledge about the context in which the program will execute. There exist many program manipulation techniques which allow specializing the program in different ways. Among ...
Slicing java programs that throw and catch exceptions
Exceptions are the preferred method for error handling in object-oriented languages like Java. Current program-slicing algorithms do not correctly deal with exception-handling constructs, because they do not account for the additional control and data ...
Storeless semantics and alias logic
Pioneering work has been done by Jonkers [18] to define a semantics of pointer manipulating programs that is abstract in the sense of ignoring low-level aspects such as dangling pointers and garbage objects. We explore the principles of such storeless ...
CodeBricks: code fragments as building blocks
We present a framework for code generation that allows programs to manipulate and generate code at the source level while the joining and splicing of executable code is carried out automatically at the intermediate code/VM level. The framework ...
Extending sized type with collection analysis
Many program optimizations and analyses, such as array-bounds checking, termination analysis, depend on knowing the size of a function's input and output. However, size information can be difficult to compute. Firstly, accurate size computation requires ...
Optimizing Ackermann's function by incrementalization
This paper describes a formal derivation of an optimized Ackermann's function following a general and systematic method based on incrementalization. The method identifies an appropriate input increment operation and computes the function by repeatedly ...