Call For Papers

ACM SIGPLAN 2012 Workshop on Partial Evaluation and Program Manipulation
ACM logo ACM logo Mon-Tue, January 23-24, 2012
Philadelphia, Pennsylvania, USA
co-located with POPL'12

Sponsored by ACM SIGPLAN

The PEPM Symposium/Workshop series aims to bring together researchers and practitioners working in the broad area of program transformation, which spans from refactoring, partial evaluation, supercompilation, fusion and other metaprogramming to model-driven development, program analyses including termination, inductive programming, program generation and applications of machine learning and probabilistic search. PEPM focuses on techniques, supporting theory, tools, and applications of the analysis and manipulation of programs. Each technique or tool of program manipulation should have a clear, although perhaps informal, statement of desired properties, along with an argument how these properties could be achieved.

Topics of interest for PEPM'12 include, but are not limited to:

  • Program and model manipulation techniques such as: supercompilation, partial evaluation, fusion, on-the-fly program adaptation, active libraries, program inversion, slicing, symbolic execution, refactoring, decompilation, and obfuscation.

  • Program analysis techniques that are used to drive program/model manipulation such as: abstract interpretation, termination checking, binding-time analysis, constraint solving, type systems, automated testing and test case generation.

  • Techniques that treat programs/models as data objects including metaprogramming, generative programming, 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 case studies of program manipulation in real-world (industrial, open-source) projects and software development processes, descriptions of robust tools capable of effectively handling realistic applications, 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.

To maintain the dynamic and interactive nature of PEPM, we will continue the category of `short papers' for tool demonstrations and for presentations of exciting if not fully polished research, and of interesting academic, industrial and open-source applications that are new or unfamiliar.

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.

All accepted papers, short papers included, will appear in formal proceedings published by ACM Press. In addition to printed proceedings, accepted papers will be included in the ACM Digital Library. Extended versions of selected papers will be published in a journal special issue.

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. Short papers are up to 4 pages in ACM Proceedings style. Authors of tool demonstration proposals are 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 Sun, October 16, 2011, 23:59 GMT

Invited Speakers

We are proud to present the following two invited talks:

  • Markus Püschel (ETH Zürich, Switzerland): Compiling Math to High Performance Code

    Abstract Extracting optimal performance from modern computing platforms has become increasingly difficult over the last few years. The effect is particularly noticeable in computations that are of mathematical nature such as those needed in multimedia processing, communication, control, graphics, and scientific simulations. The reason is in optimizations that are known to be difficult and often impossible for compilers: parallelization, vectorization, and locality optimizations. On the other hand, many mathematical applications spend most of their runtime in well-defined mathematical kernels such as matrix computations, Fourier transforms, interpolation, coding, and others. Since these are likely to be needed for decades to come, it makes sense to build program generation systems for their automatic production. With Spiral we have built such a system for the domain of linear transforms. In this talk we give a brief survey on the key techniques underlying Spiral: a domain specific mathematical language, rewriting systems for different forms of parallelization and to compute the so-called recursion step closure to improve locality in recursive code, and the use of machine learning to adapt code at installation time. Spiral-generated code has proven to be as good as, and sometimes faster, than any human-written code.

  • Martin Berger (University of Sussex, UK): Specification and verification of meta-programs

    Abstract: This lecture outlines key approaches to meta-programming (MP), and introduces the nascent work on verification of meta-programs. We begin by clarifying terminology: we compare and contrast the main forms of modern MP languages: compile-time MP (as can be found in Template Haskell or Converge), run-time MP (as provided by the MetaML? family of languages), and printf-based MP (used in languages that do not offer dedicated MP features). Next we outline the existing approaches to typing MP, which can be done statically (e.g. the MetaML? family of languages), or dynamically (e.g. Converge), or in hybrid form (e.g. Template Haskell). Then we introduce a program logic for an idealised MP language, and use it to demonstrate reasoning about small meta-programs. We also discuss how logics for non MP-languages can be used as heuristics for constructing logics for MP languages. Next we look at logics for languages featuring a Javascript-like eval construct. Finally, we sketch recent alternative approaches to reasoning about the correctness of MP based on the Curry-Howard correspondence, on translation of MP-languages into non-MP-languages, and on equational reasoning. We conclude by suggesting interesting questions for future work, including the quest for a Church-Turing thesis for MP.

Program Committee

Program Chairs

Program Committee Members

Steering Committee

I Attachment sort Action Size Date Who down Comment
PEPM12_cfp.txt manage 5.3 K 09 Aug 2011 - 02:35 OlegKiselyov plain-text version of the Call-for-Papers.
PEPM12_cfp.pdf manage 64.5 K 09 Aug 2011 - 02:37 OlegKiselyov Call-for-Papers in PDF