The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM), which has a history going back to 1991 and has co-located with POPL every year since 2006, originates in the discoveries of practically useful automated techniques for evaluating programs with only partial input. Over the years, the scope of PEPM has expanded to include a variety of research areas centred around the theme of semantics-based program manipulation — the systematic exploitation of treating programs not only as subject to black-box execution, but also as data structures that can be generated, analyzed, and transformed while establishing or maintaining important semantic properties.
Mon 14 JanDisplayed time zone: Belfast change
11:00 - 12:30
Session 1PEPM at Sala X
Chair(s): Manuel Hermenegildo IMDEA Software Institute and T.U. of Madrid (UPM)
|Welcome to PEPM19|
C: Atsushi Igarashi Kyoto University, Japan, C: Manuel Hermenegildo IMDEA Software Institute and T.U. of Madrid (UPM)
|Applying Futamura Projections to Compose Languages and Tools in GraalVM (Invited Talk)|
Christian Humer Oracle Labs, SwitzerlandFile Attached
|A Simpler Lambda Calculus|
Barry Jay University of Technology SydneyDOI
14:00 - 15:30
Session 2PEPM at Sala X
Chair(s): Thomas P. Jensen INRIA Rennes
|Method Name Suggestion with Hierarchical Attention Networks|
Sihan Xu Nankai University, China, Sen Zhang Nankai University, China, Weijing Wang Nankai University, China, Xinya Cao Nankai University, China, Chenkai Guo Nankai University, China, Jing Xu Nankai University, ChinaDOI
|Reduction from Branching-Time Property Verification of Higher-Order Programs to HFL Validity Checking|
Keiichi Watanabe University of Tokyo, Japan, Takeshi Tsukada University of Tokyo, Japan, Hiroki Oshikawa University of Tokyo, Japan, Naoki Kobayashi University of Tokyo, JapanDOI
|Typed Parsing and Unparsing for Untyped Regular Expression Engines|
Gabriel Radanne University of Freiburg, GermanyDOI Pre-print File Attached
16:00 - 17:30
Session 3PEPM at Sala X
Chair(s): Atsushi Igarashi Kyoto University, Japan
|What Is the Type of a Partial Evaluator? (Invited Talk)|
Jens Palsberg University of California, Los Angeles (UCLA)File Attached
|Combining Higher-Order Model Checking with Refinement Type Inference|
Ryosuke Sato Kyushu University, Japan, Naoki Iwayama University of Tokyo, Japan, Naoki Kobayashi University of Tokyo, JapanDOI
Tue 15 JanDisplayed time zone: Belfast change
11:00 - 12:30
Session 4PEPM at Sala X
Chair(s): Roberto Giacobazzi University of Verona and IMDEA Software Institute
|Making Proofs Easy: Horn Clause Transformations to the Aid of Program Verification (Invited Talk)|
|Control Flow Obfuscation via CPS Transformation|
Kenny Zhuo Ming Lu Nanyang Polytechnic, SingaporeDOI
14:00 - 15:30
Session 5PEPM at Sala X
Chair(s): Alberto Pettorossi University of Rome Tor Vergata, Italy
|Extracting a Call-by-Name Partial Evaluator from a Proof of Termination|
Kenichi Asai Ochanomizu UniversityDOI File Attached
|Futures and Promises in Haskell and Scala|
Tamino Dauth Karlsruhe University of Applied Sciences, Germany, Martin Sulzmann Karlsruhe University of Applied Sciences, GermanyDOI File Attached
|Generating Mutually Recursive Definitions|
Jeremy Yallop University of Cambridge, UK, Oleg KiselyovDOI Pre-print
|Advanced Futures and Promises in C++ (poster)|
Tamino Dauth Karlsruhe University of Applied Sciences, Germany, Martin Sulzmann Karlsruhe University of Applied Sciences, Germany
Call for Papers
In addition to the traditional PEPM topics (see below), PEPM 2019 welcomes submissions in new domains, in particular:
Semantics based and machine-learning based program synthesis and program optimisation.
Modelling, analysis, and transformation techniques for distributed and concurrent protocols and programs, such as session types, linear types, and contract specifications.
More generally, topics of interest for PEPM 2019 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.
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.
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.
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, embedded and resource-limited computation, and security.
This list of categories is not exhaustive, and we encourage submissions describing new theories and applications related to semantics-based program manipulation in general. If you have a question as to whether a potential submission is within the scope of the workshop, please contact the programme co-chairs, Manuel Hermenegildo (http://cliplab.org/herme/) and Atsushi Igarashi (http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/).
Submission categories and guidelines
Two kinds of submissions will be accepted: Regular Research Papers and Short Papers.
Regular Research Papers should describe new results, and will be judged on originality, correctness, significance, and clarity. Regular research papers must not exceed 12 pages (excluding bibliography).
Short Papers may include tool demonstrations and presentations of exciting if not fully polished research, and of interesting academic, industrial, and open-source applications that are new or unfamiliar. Short papers must not exceed 6 pages (excluding bibliography).
Both kinds of submissions should be typeset using the two-column ‘sigplan’ sub-format of the new ‘acmart’ format available at:
and submitted electronically via HotCRP:
PEPM 2019 will employ lightweight double-blind reviewing according to the rules of POPL 2019. Quoting from POPL 2019’s call for papers:
“submitted papers must adhere to two rules:
- author names and institutions must be omitted, and
- references to authors’ own related work should be in the third person (e.g., not “We build on our previous work …” but rather “We build on the work of …”).
The purpose of this process is to help the PC and external reviewers come to an initial judgment about the paper without bias, not to make it impossible for them to discover the authors if they were to try. Nothing should be done in the name of anonymity that weakens the submission or makes the job of reviewing the paper more difficult. In particular, important background references should not be omitted or anonymized. In addition, authors should feel free to disseminate their ideas or draft versions of their paper as they normally would. For instance, authors may post drafts of their papers on the web or give talks on their research ideas.”
See POPL 2019’s Submission and Reviewing FAQ page for more information:
Submissions are welcome from PC members (except the two co-chairs) provided that there are non-PC co-authors.
Accepted papers will appear in formal proceedings published by ACM, and be included in the ACM Digital Library. Authors of short papers, however, can ask for their papers to be left out of the formal proceedings.
At least one author of each accepted contribution must attend the workshop and present the work. In the case of tool demonstration papers, a live demonstration of the described tool is expected. Suggested topics, evaluation criteria, and writing guidelines for both research tool demonstration papers will be made available on the PEPM 2019 web site.
Student participants with accepted papers can apply for a SIGPLAN PAC grant to help cover travel expenses and other support. 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 programme, see its web page.
- Paper submission deadline : Friday 19th October 2018 (AoE)
- Author notification : Monday 12th November 2018 (AoE)
- Workshop : Monday 14th-Tuesday 15th January 2019
The proceedings are expected to be published 2 weeks pre-conference.
AUTHORS TAKE NOTE: The official publication date is the date the proceedings are made available in the ACM Digital Library. This date may be up to two weeks prior to the first day of your conference. The official publication date affects the deadline for any patent filings related to published work. (For those rare conferences whose proceedings are published in the ACM Digital Library after the conference is over, the official publication date remains the first day of the conference.)
Best paper award
PEPM 2019 continues the tradition of a Best Paper award. The winner will be announced at the workshop.
- Elvira Albert (Complutense U.)
- María Alpuente (U.P. Valencia)
- William Cook (U. Texas, Austin)
- Dana Drachsler Cohen (Technion)
- John Gallagher (Roskilde U)
- Roberto Giacobazzi (U. Verona / IMDEA Software)
- Robert Glueck (U. Copenhagen)
- Manuel Hermenegildo (co-chair) (IMDEA Software)
- Atsushi Igarashi (co-chair) (Kyoto U.)
- Thomas Jensen (INRIA)
- Victor Kuncak (EPFL)
- Julia Lawall (INRIA)
- Michael Leuschel (U. Duesseldorf)
- Annie Liu (SUNY)
- Kazutaka Matsuda (Tohoku U.)
- Jan Midtgaard (U. of Southern Denmark)
- Keiko Nakata (SAP Potsdam)
- Jens Palsberg (UCLA)
- Alberto Pettorossi (U. Roma Tor Vergata)
- Frank Pfenning (CMU)
- Christoph Reichenbach (Lund Univ.)
- Martin Rinard (MIT)
- Kostis Sagonas (Uppsala U.)
- Isao Sasano (Shibaura Inst. of Tech.)
- Ilya Sergei (U. College London)
- Harald Søndergaard (U Melbourne)
- Fausto Spoto (U. Verona)
- Elena Zucca (U. Genova)
Call for Posters/Demos
To maintain PEPM’s dynamic and interactive nature, PEPM 2019 will continue to have special sessions for poster/demo presentations. In addition to the main interactive poster/demo session, there will also be a scheduled short-talk session where each poster/demo can be advertised to the audience in, say, 5–10 minutes.
Poster/demo abstracts should describe work relevant to PEPM (whose scope can be found in the Call for Papers), typeset as a one-page PDF using the two-column
sigplan sub-format of the new
acmart format available at:
and sent by email to the programme co-chairs, Atsushi Igarashi and Manuel Hermenegildo, at:
igarashi at kuis.kyoto-u.ac.jp, manuel.hermenegildo at imdea.org
Please also include in the email:
- a short summary of the abstract (in plain text),
- the type(s) of proposed presentation (poster and/or demo), and
- whether you would like to give a scheduled short talk (in addition to the poster/demo presentation).
Abstracts should be sent no later than:
Friday, 14th December 2018, anywhere on earth
and will be considered for acceptance on a rolling basis. Accepted abstracts, along with their short summary, will be posted on this website.
At least one author of each accepted abstract must attend the workshop and present the work during the poster/demo session.
Student participants with accepted posters/demos can apply for a SIGPLAN PAC grant to help cover travel expenses and other support. 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 programme, see its web page.
Applying Futamura projections to compose languages and tools in GraalVM
Christian Humer (Oracle Labs)
What is the type of a partial evaluator?
Jens Palsberg (UCLA)
Making proofs easy: Horn clause transformations to the aid of program verification
Maurizio Proietti (IASI-CNR)