Maribel Fernandez , King's College London, UK (Jointly with PPDP and sponsored by ALP). |
Title: Unification Modulo Equational Theories in Languages with Binding Operators |
Abtract:
Unification (i.e., solving equations between terms) is a key step in
the implementation of logic programming languages and theorem provers,
and is also used in type inference algorithms for functional languages
and as a mechanism to analyse rewrite-based specifications (e.g., to
find critical pairs). Matching is a version of unification in which
only one of the terms in the equation can be instantiated.
Often, operators satisfy equational axioms (e.g., associativity, commutativity), which must be taken into account during the unification or matching process. In addition, when the expressions to be unified involve binding operators (as is the case when representing programs, logics, computation models, etc.), unification and matching algorithms must take into account the alpha-equivalence relation generated by the binders. In this talk, we present matching and unification algorithms for languages that include binding operators as well as operators that satisfy equational axioms, such as associativity and commutativity. |
Manuel Hermenegildo , IMDEA Software Institute and Universidad Politecnica de Madrid, Spain (sponsored by ALP). |
Title: On-The-Fly Verification via Incremental, Interactive Abstract Interpretation with CiaoPP and VeriFly |
Abtract:
Ciao Prolog pioneered the idea of being able to optionally and gradually
add assertions or contracts to programs in order to offer formal guarantees, a
now very popular solution for solving the classic trade-offs between dynamic
and static languages. This approach is enabled by Ciao’s program analysis and
verification framework, CiaoPP, which performs abstract interpretation-based,
context- and path-sensitive analysis to infer information against which assertions
are checked to achieve verification or flag errors statically.
The framework supports multiple other languages in addition to Prolog, from
machine code to smart contracts, by translation into Horn clauses. Program
semantics is computed over different user-definable abstract domains, via efficient
fixpoint computation. This allows inference and verification of both functional
and non-functional properties, including, e.g., energy or ’gas’ consumption.
While this type of verification can be performed offline (e.g., as part of con- tinuous integration) it is very useful when it occurs interactively during software development, flagging errors as the program is written. However, while context- and path-sensitive global analysis over complex domains can provide the preci- sion needed for effective verification and optimization, it can also be expensive when applied to large code bases, sometimes making interactive use impracti- cal. On the other hand, in many program development situations modifications are small and isolated within a few components. The modular and incremental fixpoint algorithms used by CiaoPP take advantage of this to reuse as much as possible previous analysis results, reducing response times in interactive use. In this talk we will review these ideas and show how the integration of the Ciao abstract interpretation framework within different IDEs takes advantage of our efficient and incremental fixpoint to achieve effective verification on-the-fly, as the program is developed. We also demonstrate a number of embeddings of this framework within the browser, and show as an example an application for building interactive tutorials, which we have used for teaching verification and abstract interpretation. |
Times in the schedule are WEST (Western European Summer Time), i.e., local to Cascais.
Monday, October 23 | |
---|---|
11:00 - 11:10 | OPENING |
11:10-12:10 12:10-12:30 |
SESSION I. Chairs : Robert Glück and Santiago Escobar
|
12:30 - 14:00 | Lunch Break |
14:00-14:35 14:35-15:10 15:10-15:30 |
SESSION II. Chair: Michael Hanus
|
15:30 - 16:00 | Coffee Break |
16:00-16:35 16:35-17:10 17:10-17:20 |
SESSION III. Chairs : Chantal Keller
|
Tuesday, October 24 | |
---|---|
9:00-10:00 10:00-10:30 |
SESSION IV. Chair: John Gallagher
|
10:30 - 11:00 | Coffee Break |
11:00-11:35 11:35-12:10 12:10-12:30 |
SESSION V. Chairs : Maurizio Proietti
|
12:30 - 14:00 | Lunch Break |
14:00-14:35 14:35-14:55 14:55-15:05 |
SESSION VI. Chairs : Juliana Bowles
|
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.
LOPSTR 2023 will be held in-person at Hotel Cascais Miragem in Cascais, Lisbon, Portugal and will be co-located with PPDP 2023 as part of SPLASH 2023. At least one of the authors of the accepted paper is expected to attend the conference and present the paper. Information about venue and travel is available on the SPLASH 2023 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, including, but not limited to:
Survey papers that present some aspects of the above topics from a new perspective and papers that describe experience with industrial applications and case studies are also welcome.
Submissions can be made in two categories:
Submissions of Regular Papers must describe the original work. Work that already appeared in unpublished or informally published workshop proceedings may be submitted (please contact the PC chair in case of questions).
Submissions of Short Papers may include presentations of exciting if not fully polished research and tool demonstrations that are of academic and industrial interest. Tool demonstrations should describe the relevant system, usability, and implementation aspects of a tool.
All accepted papers will be included in the conference proceedings and published by Springer as a Lecture Notes in Computer Science (LNCS) volume.
After the symposium, a selection of a few best papers will be invited for submission to rapid publication in the Journal of Theory and Practice of Logic Programming (TPLP). Authors of selected papers will be invited to revise and/or extend their submissions to be considered for publication. The papers submitted to TPLP will be subject to the standard reviewing process of the journal.
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. Authors should consult Springer's authors' instructions at the author's page, and use their proceedings templates, either for LaTeX (available also in overleaf) or for Word, for the preparation of their papers. Springer encourages authors to include their ORCIDs in their papers. In addition, upon acceptance, the corresponding author of each paper, acting on behalf of all of the authors of that paper, must complete and sign a Consent-to-Publish form. The corresponding author signing the copyright form should match the corresponding author marked on the paper. Once the files have been sent to Springer, changes relating to the authorship of the papers cannot be made.
Page numbers (and, if possible, line numbers) should appear on the manuscript to help the reviewers in writing their report. So, for LaTeX, we recommend that authors use:
\pagestyle{plain}
\usepackage{lineno}
\linenumbers
Papers should be submitted via EasyChair: https://easychair.org/conferences/?conf=lopstr2023
Thanks to Springer's sponsorship, two best paper awards (one for each submission category) will be given at LOPSTR 2023. The program committee will select the winning papers based on relevance, originality and technical quality but may also take authorship into account (e.g. a student paper).
Program Chairs | |
Robert Glück | University of Copenhagen, Denmark |
Bishoksan Kafle | IMDEA Software Institute, Spain |
Publicity Chair | |
Daniel Jurjo | IMDEA Software Institute, Spain | Program Committee Members |
Slim Abdennadher | German International University, Egypt |
José Júlio Alferes | Universidade Nova de Lisboa, Portugal |
Roberto Amadini | University of Bologna, Italy |
William Byrd | University of Alabama at Birmingham, USA |
Michael Codish | Ben-Gurion University of the Negev, Israel |
Gregory Duck | National University of Singapore, Singapore |
Isabel Garcia | University of Waterloo, Canada |
Ashutosh Gupta | IIT Bombay, India |
Gopal Gupta | The University of Texas at Dallas, USA |
Michael Hanus | University of Kiel, Germany |
Temesghen Kahsai | Amazon, USA |
Maja Hanne Kirkeby | Roskilde University, Denmark |
Michael Leuschel | Heinrich Heine University Düsseldorf, Germany |
Nai-Wei Lin | National Chung Cheng University, Taiwan |
Fred Mesnard | University of Reunion, France |
José F. Morales | IMDEA Software Institute, Spain |
Carlos Olarte | Université Sorbonne Paris Nord, France |
Alberto Pettorossi | Università di Roma Tor Vergata, Italy |
Christoph Reichenbach | Lund University, Sweden |
Peter Schachte | The University of Melbourne, Australia |
Helge Spieker | Simula Research Laboratory, Norway |
Theresa Swift | Universidade Nova de Lisboa, Portugal |
Laura Titolo | National Institute of Aerospace, USA |
Kazunori Ueda | Waseda University, Japan |
Germán Vidal | Universitat Politècnica de València, Spain |
Nisansala Yatapanage | Australian National University, Australia |
Florian Zuleger | Vienna University of Technology, Austria |
The final call for papers can be found here.
LOPSTR is a renowned symposium that has been held for more than 30 years. The first meeting was held in Manchester, UK in 1991. Information about previous symposia can be found here.
You might have a look at the contents of past LOPSTR symposia at DBLP and past LNCS proceedings at Springer repository.