The PEPM Symposium/Workshop series aims to bring together researchers
and practitioners working in the areas of program manipulation,
partial evaluation, and program generation. PEPM focuses on
techniques, theories, tools, and applications of analysis and
manipulation of programs.
The 2010 PEPM workshop will be based on a broad interpretation of
semantics-based program manipulation in a continued effort to expand the scope of PEPM significantly beyond the
traditionally covered areas of partial evaluation and specialization
and include practical applications of program transformations such as
refactoring tools, and practical implementation techniques such as
rule-based transformation systems. In addition, it
covers manipulation and transformations of program and system
representations such as structural and semantic models that occur in
the context of model-driven development. In order to reach out to
practitioners, there is a separate category of tool demonstration papers.
Topics of interest for PEPM'10 include, but are not limited to:
- Program and model manipulation techniques such as transformations driven by rules, patterns, or analyses, partial evaluation, specialization, program inversion, program composition, slicing, symbolic execution, refactoring, aspect weaving, decompilation, and obfuscation.
- Program analysis techniques that are used to drive program/model manipulation such as abstract interpretation, static analysis, binding-time analysis, dynamic analysis, constraint solving, type systems, automated testing and test case generation.
- Analysis and transformation for programs/models with advanced features such as objects, generics, ownership types, aspects, reflection, XML type systems, component frameworks, and middleware.
- Techniques that treat programs/models as data objects including meta-programming, generative programming, deep embedded domain-specific languages, program synthesis by sketching and inductive programming, staged computation, and model-driven program generation and transformation.
- Application of the above techniques including experimental studies, engineering needed for scalability, and benchmarking. Examples of application domains include legacy program understanding and transformation, DSL implementations, visual languages and end-user programming, scientific computing, middleware frameworks and infrastructure needed for distributed and web-based applications, resource-limited computation, and security.
We especially encourage papers that break new ground including
descriptions of how program/model manipulation tools can be integrated
into realistic software development processes, descriptions of robust
tools capable of effectively handling realistic applications, and new
areas of application such as rapidly evolving systems, distributed and
web-based programming including middleware manipulation, model-driven
development, and on-the-fly program adaptation driven by run-time or
statistical analysis.
Student attendants with accepted papers can apply for a SIGPLAN PAC grant to help cover travel expenses. PAC also offers other support, such as for child-care expenses during the meeting or for travel costs for companions of SIGPLAN members with physical disabilities, as well as for travel from locations outside of North America and Europe. For details on the PAC program, see the
PAC web page.
There will be formal proceedings published by ACM Press. In addition to printed proceedings, accepted papers will be included in the
ACM Digital Library. Selected papers may later on be invited for a journal special issue dedicated to PEPM'10.
The
SIGPLAN Republication Policy and
ACM's Policy and Procedures on Plagiarism apply.
Papers should be submitted electronically via the
workshop web site.
Submission Categories and Guidelines
Authors are strongly encouraged to consult the
advice for authoring research papers and
tool papers before submitting.
The PC Chairs welcome any inquiries about the authoring advice.
Regular research papers must not exceed 10 pages in ACM Proceedings
style. Tool demonstration papers must not exceed 4 pages in ACM
Proceedings style, and authors will be expected to present a live
demonstration of the described tool at the workshop
(tool papers should include an additional appendix of up to 6 extra pages giving the outline, screenshots, examples, etc. to indicate the content of the proposed live demo at the workshop).
Authors using Latex to prepare their submissions should use the
new improved SIGPLAN proceedings style (sigplanconf.cls, 9pt template).
Important Dates
The paper submission deadline has been extended until Mon, October 12, 2009, 12:00 noon, Apia time.
- Workshop: Mon-Tue, January 18-19, 2010
Invited Speakers
We are proud to present the following two invited talks:
- Lennart Augustsson (Standard Chartered Bank, UK): O, Partial Evaluator, Where Art Thou?
Abstract: Partial evaluation is now a quite old idea, and it has been implemented many times. Partial evaluation is also very widely applicable; almost every problem in computing could use it. But widely used partial evaluators are nowhere to be seen. Why is that? In this talk I will give some examples of where I have used partial evaluation during 15 years of using Haskell commercially. I will give my wish list for a partial evaluator I could actually use (instead of rewriting it over and over), and also contrast this with what is done in the research community.
- Jeremy G. Siek (University of Colorado at Boulder, USA): General Purpose Languages Should be Metalanguages.
Abstract: In his paper, The Next 700 Programming Languages, the late Landin writes that "most programming languages are partly a way of expressing things in terms of other things and partly a basic set of given things." Landin tries to separate the general purpose aspects of a language from the problem specific aspects. Instead of hundreds of languages with ad-hoc differences, Landin proposes one general-purpose language with many different sets of primitive operations for different problem domains. However, achieving this separation is not so easy: the domain specific parts cannot always be neatly packaged up in a set of primitives, but instead may require complex syntactic and semantics structures. In the last decade or so we made significant steps towards this vision through the development of domain-specific embedded languages (DSELs). We discovered how to trick several general purpose languages into making software libraries look like domain-specific languages. As a result, we now develop DSELs that enjoy many of the benefits of real languages: they perform domain-specific type checking, they provide custom syntactic abstractions, and they optimize themselves to achieve high efficiency. Most importantly, unlike real languages, DSELs nicely inter-operate with each other through the underlying general purpose language. The main limitation of today's DSELs is that they leak: the underlying general purpose language peeks through at inopportune times. This is not surprising; these general purpose languages were not designed to be metalanguages for building DSELs. In this talk I argue that general purpose languages should be designed to be metalanguages and I identify some features that could help our general purpose languages become metalanguages.
Program Committee
Program Chairs
Program Committee Members
- Wei-Ngan Chin (National University of Singapore, Singapore)
- Michael Codish (Ben-Gurion University of the Negev, Israel)
- Jim Cordy (Queen's University, Canada)
- Nate Foster (University of Pennsylvania, USA)
- Haifeng Guo (University of Nebraska at Omaha, USA)
- Patricia Johann (University of Strathclyde, UK)
- Oleg Kiselyov (FNMOC, USA)
- Günter Kniesel (University of Bonn, Germany)
- Viktor Kuncak (Ecole Polytechnique Fédérale de Lausanne, Switzerland)
- Yanhong Annie Liu (State University of New York at Stony Brook, USA)
- Andres Löh (Utrecht University, Netherlands)
- Jan Midtgaard (Roskilde University, Denmark)
- David Monniaux (National Center for Scientific Research (CNRS) and VERIMAG laboratory, France)
- Akimasa Morihata (University of Tokyo, Japan)
- Alberto Pettorossi (Università di Roma Tor Vergata, Italy)
- João Saraiva (Universidade do Minho, Portugal)
- Ganesh Sittampalam (Credit Suisse, UK)
- Fausto Spoto (Università di Verona, Italy)
- Harald Søndergaard (University of Melbourne, Australia)
- Walid Taha (Rice University, USA)