Welcome to

The 27th International Symposium on Logic-based Program Synthesis and Transformation

October 10-12, 2017 - Namur, Belgium

More information


October 10-12, 2017 - Namur, Belgium

The aim of the LOPSTR series is to stimulate and promote international research and collaboration on logic-based program development. LOPSTR is open to contributions in logic-based program development in any language paradigm. LOPSTR has a reputation for being a lively, friendly forum for presenting and discussing work in progress. Formal proceedings are produced only after the symposium so that authors can incorporate this feedback in the published papers.

The 27th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2017) will be held at the University of Namur, Namur, Belgium; previous symposia were held in Edinburgh, Siena, Canterbury, Madrid, Leuven, Odense, Hagenberg, Coimbra, Valencia, Lyngby, Venice, London, Verona, Uppsala, Madrid, Paphos, London, Venice, Manchester, Leuven, Stockholm, Arnhem, Pisa, Louvain-la-Neuve and Manchester (you might have a look at the contents of past LOPSTR symposia at DBLP).

LOPSTR 2017 will be co-located with PPDP 2017 (the ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming). Information about venue and travel is available on the joint PPDP / LOPSTR conference website.

Topics of interest cover all aspects of logic-based program development, all stages of the software life cycle, and issues of both programming-in-the-small and programming-in-the-large. Both full papers and extended abstracts describing applications in these areas are especially welcome. Contributions are welcome on all aspects of logic-based program development, including, but not limited to:

  • synthesis
  • transformation
  • specialization
  • composition
  • optimization
  • inversion
  • specification
  • analysis and verification
  • testing and certification
  • program and model manipulation
  • transformational techniques in SE
  • applications and tools

Survey papers that present some aspects of the above topics from a new perspective, and application papers that describe experience with industrial applications are also welcome.

Papers must describe original work, be written and presented in English, and must not substantially overlap with papers that have been published or that are simultaneously submitted to a journal, conference, or workshop with refereed proceedings. Work that already appeared in unpublished or informally published workshop proceedings may be submitted (please contact the PC chair in case of doubt).


Dates (AoE)

Abstract submission: June 18, 2017 (extended)  
Paper submission: June 25, 2017 (extended)  
Notification (for pre-proceedings): July 25, 2017  
Symposium: October 10-12, 2017  

Venue and Registration


Information about venue and travel is available on the joint PPDP / LOSPTR conference website.


Registration is now open. Early registration rates are available until September, 15th.


LOPSTR'17 pre-proceedings on arXiv.org

Tuesday 10 October
8:30 - 9:00 Morning coffee and registration
9:00 - 10:00
Room I02
  • Sumit Gulwani
    Title: Programming by Examples: Applications, Algorithms, and Ambiguity Resolution
    Abstract: 99% of computer users do not know programming and hence struggle with repetitive tasks. Programming by Examples (PBE) can revolutionize this landscape by enabling users to synthesize intended programs from example based specifications. A key technical challenge in PBE is to search for programs that are consistent with the examples provided by the user. Our efficient search methodology is based on two key ideas: (i) Restriction of the search space to an appropriate domain-specific language (ii) A divide-and-conquer based search paradigm that inductively reduces the problem of synthesizing a program with a certain top-level operator to simpler synthesis problems over its sub-programs by leveraging the operator's inverse semantics. Another challenge in PBE is to resolve the ambiguity in the example based specification. Our ambiguity resolution methodology leverages two complementary approaches: (a) machine learning based ranking techniques that can pick an intended program from among those that satisfy the specification, and (b) active-learning based user interaction models. I will illustrate these various concepts using Flash Fill, FlashExtract, and FlashRelate---PBE technologies for data manipulation domains. These technologies, which have been released inside various Microsoft products, are useful for data scientists who spend 80% of their time wrangling with data. The Microsoft PROSE SDK allows easy construction of such technologies.


Session chair: Brigitte Pientka
10:00 - 10:30 Coffee break
10:30 - 12:00
Room I03
Term rewriting and CHR
  • Stephen Skeirik, Andrei Stefanescu and José Meseguer
    A Constructor-Based Reachability Logic for Rewrite Theories
    Paper  —  Slides
  • Maja Kirkeby and Henning Christiansen
    Confluence and Convergence in Probabilistically Terminating Reduction Systems
    Paper  —  Slides
  • Thom Fruehwirth
    Justifications in Constraint Handling Rules for Logical Retraction in Dynamic Algorithms
    Paper  —  Slides

Session chair: Michael Hanus
12:00 - 14:00 Lunch
14:00 - 15:00
Room I03
Analysis I
  • Elvira Albert, Miguel Gomez-Zamalloa and Miguel Isabel
    On the Generation of Initial Contexts for Effective Deadlock Detection
    Paper  —  Slides
  • Abel Garcia and Cosimo Laneve
    Deadlock detection of Java Bytecode

Session chair: Henning Christiansen
15:00 - 22:00 Excursion and conference banquet
Wednesday 11 October
8:30 - 9:00 Morning coffee and registration
9:00 - 10:00
Room I02
  • Marieke Huisman
    Title: A Verification Technique for Deterministic Parallel Programs
    Abstract: A commonly used approach to develop parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This talk presents how we use our verification technique for concurrent software, as supported by the VerCors tool set, to prove correctness of compiler directives combined with functional correctness of the program. We propose syntax and semantics for a simple core language, capturing the main forms of deterministic parallel programs. This language distinguishes three kinds of basic blocks: parallel, vectorized and sequential blocks, which can be composed using three different composition operators: sequential, parallel and fusion composition. We show that it is sufficient to have contracts for the basic blocks to prove correctness of the compiler directives, and moreover that functional correctness of the sequential program implies correctness of the parallelized program. We also show how a widely-used subset of OpenMP can be encoded into our core language, thus effectively enabling the verification of OpenMP compiler directives, and we discuss automated tool support for this verification process.

Session chair: Fabio Fioravanti
10:00 - 10:30 Coffee break
10:30 - 12:00
Room I03
Analysis II
  • Huu Vu Nguyen and Tayssir Touili
    CARET analysis of multithreaded programs
    Paper  —  Slides
  • Andreas Behrend, Christiane Engels and Stefan Brass
    A Rule-Based Approach to Analyzing Database Schema Objects with Datalog
  • Umer Liqat, Zorana Bankovic, Pedro Lopez-Garcia and Manuel V Hermenegildo
    Inferring Energy Bounds Statically by Evolutionary Analysis of Basic Blocks
    Paper  —  Slides

Session chair: Fred Mesnard
12:00 - 14:00 Lunch
14:00 - 15:00
Room I03
Verification I
  • Michael Hanus
    Combining Static and Dynamic Contract Checking for Curry
    Paper  —  Slides
  • Emanuele De Angelis, Fabio Fioravanti, Alberto Pettorossi and Maurizio Proietti
    Enhancing Predicate Pairing with Abstraction for Relational Verification
    Paper  —  Slides

Session chair: Pedro Lopéz Garcia
15:00 - 15:30 Coffee break
15:30 - 17:00
Room I03
Verification II
  • Raúl Gutiérrez and José Meseguer
    Variant-Based Decidable Validity in Initial Algebras with Predicates
    Paper  —  Slides
  • Gustavo Betarte, Juan Diego Campo, Felipe Gorostiaga and Carlos Luna
    A certified reference validation mechanism for the permission model of Android
    Paper  —  Slides
  • Salvador Lucas
    A Semantic Approach to the Analysis of Rewriting-Based Systems
    Paper  —  Slides

Session chair: Emanuele De Angelis
Thursday 12 October
8:30 - 9:00 Morning coffee and registration
9:00 - 10:00
Room I03
  • Grigore Rosu
    Title: K: A Logic-Based Framework for Program Semantics and Analysis
    Abstract: K (kframework.org) is a logic-based executable semantic framework in which programming languages, type systems and formal analysis tools can be defined using special rewrite rules. The K (rewrite) rules make it explicit which parts of the term they read-only, write-only, read-write, or do not care about. Several real languages have been defined in K, such as C (ISO C11 standard), Java (1.4), JavaScript (ES5), Ethereum Virtual Machine (EVM), Python, Scheme, Verilog, and dozens of prototypical or classroom languages. The ISO C11 semantics and a fast OCAML backend for K power RV-Match (runtimeverification.com/match), one of the most advanced commercial automated analysis tools for C. K is a best-effort implementation of matching logic, a logic which uniformly generalizes several logical frameworks important for program analysis, such as: propositional logic, algebraic specification, FOL with equality, modal logic, and separation logic.

Session chair: John Gallagher
10:00 - 10:30 Coffee break
10:30 - 12:00
Room I03
  • Hassan Aït-Kaci and Gabriella Pasi
    Lattice Operations on Terms with Fuzzy Signatures
    Paper  —  Slides
  • Olivier Bodini and Paul Tarau
    On Uniquely Closable and Uniquely Typable Skeletons of Lambda Terms
  • Mauricio Ayala-Rincon, Washington de Carvalho Segundo, Maribel Fernandez and Daniele Nantes-Sobrinho
    Nominal C-Unification
    Paper  —  Slides

Session chair: Alberto Pettorossi
12:00 - 14:00 Lunch
14:00 - 15:00
Room I03
Program development I
  • Gergö Barany
    Liveness-Driven Random Program Generation
    Paper  —  Slides
  • David Insa, Sergio Pérez, Josep Silva and Salvador Tamarit
    Erlang Code Evolution Control
    Paper  —  Slides

Session chair: John Gallagher
15:00 - 15:30 Coffee break
15:30 - 16:30
Room I03
Program development II
  • Michele Alberti and Julien Signoles
    Context Generation from Formal Specifications for C Analysis Tools
    Paper  —  Slides
  • Irina Mariuca Asavoae, Mihail Asavoae and Adrian Riesco
    Context-Updates Analysis and Refinement in Chisel
    Paper  —  Slides

Session chair: Wim Vanhoof


Submission Guidelines

Authors should submit an electronic copy of the paper (written in English) in PDF, formatted in the Lecture Notes in Computer Science style. Each submission must include on its first page the paper title; authors and their affiliations; contact author's email; abstract; and three to four keywords which will be used to assist the PC in selecting appropriate reviewers for the paper. Page numbers (and, if possible, line numbers) should appear on the manuscript to help the reviewers in writing their report. Submissions cannot exceed 15 pages including references but excluding well-marked appendices not intended for publication. Reviewers are not required to read the appendices, and thus papers should be intelligible without them.
Papers should be submitted via the Easychair submission website for LOPSTR 2017.

Best Paper Award and Prize

A best paper award will be granted, which will include a 500 EUR prize provided by Springer. This award will be given to the best paper submitted to the conference, based on the relevance, originality, and technical quality. The program committee may split the award among two or more papers, also considering authorship (e.g., student paper).

Journal Special Issue

A selection of the best papers will be invited for submission to a special issue of a journal. The submissions to the special issue should be substantial extensions of the proceedings versions and will undergo the usual journal reviewing process.


The formal post-conference proceedings will be published by Springer in the Lecture Notes in Computer Science series. Full papers can be directly accepted for publication in the formal proceedings, or accepted only for presentation at the symposium and inclusion in informal proceedings. After the symposium, all authors of extended abstracts and full papers accepted only for presentation will be invited to revise and/or extend their submissions in the light of the feedback solicited at the symposium. Then, after another round of reviewing, these revised papers may also be published in the formal proceedings.

Program Committee

Program Committee Members
Roberto Bagnara University of Parma and BUGSENG, Italy
Sabine Broda University of Porto, Portugal
Henning Christiansen Roskilde University, Denmark
Emanuele De Angelis University of Chieti-Pescara, Italy
Daniel De Schreye KU Leuven, Belgium
Maribel Fernandez King’s College London, UK
Laurent Fribourg CNRS, ENS Paris-Saclay, France
Miguel Gomez-Zamalloa Complutense University of Madrid, Spain
Arie Gurfinkel University of Waterloo, Canada
Geoff Hamilton Dublin City University, Ireland
Gerda Janssens KU Leuven, Belgium
Bishoksan Kafle University of Melbourne, Australia
Andy King University of Kent, UK
Jacopo Mauro University of Oslo, Norway
Jose F. Morales IMDEA Software Institute, Spain
Jorge A. Navas SRI International, USA
Corneliu Popeea CQSE GmbH, Germany
Francesca Scozzari University of Chieti-Pescara, Italy
Theresa Swift NOVALINKS, Universidade Nova de Lisboa, Portugal
Alicia Villanueva Universitat Politècnica de València, Spain

Program Chairs
Fabio Fioravanti University of Chieti-Pescara, Italy
John Gallagher Roskilde University, Denmark and IMDEA Software Institute, Spain

Organizing Committee Chair
Wim Vanhoof University of Namur, Belgium