6th Workshop on Horn Clauses for Verification and SynthesisHCVS 2019
Many Program Verification and Synthesis problems of interest can be modeled directly using Horn clauses, and many recent advances in the Constraint/Logic Programming, Verification, and Automated Deduction communities have centered around efficiently solving problems presented as Horn clauses.
This workshop aims to bring together researchers working in the communities of Constraint/Logic Programming (e.g., ICLP and CP), Program Verification (e.g., CAV, TACAS, and VMCAI), and Automated Deduction (e.g., CADE), on the topic of Horn clause based analysis, verification and synthesis.
Horn clauses have been advocated by these communities at different times and from different perspectives, and this workshop is organized to stimulate interaction and a fruitful exchange and integration of experiences.
The workshop follows five previous meetings: HCVS 2018 in Oxford, UK (FLoC), HCVS 2017 in Gothenburg, Sweden (CADE), HCVS 2016 in Eindhoven, The Netherlands (ETAPS), HCVS 2015 in San Francisco, CA, USA (CAV), and HCVS 2014 in Vienna, Austria (VSL).
HCVS 2019 will host the 2nd CHC competition (CHC-COMP), which will compare state-of-the-art tools for CHC solving for performance and effectiveness on a set of publicly available benchmarks. More information can be found here.
Accepted Papers
Call for Papers
Many Program Verification and Synthesis problems of interest can be modeled directly using Horn clauses, and many recent advances in the Constraint/Logic Programming, Verification, and Automated Deduction communities have centered around efficiently solving problems presented as Horn clauses.
This workshop aims to bring together researchers working in the communities of Constraint/Logic Programming (e.g., ICLP and CP), Program Verification (e.g., CAV, TACAS, and VMCAI), and Automated Deduction (e.g., CADE), on the topic of Horn clause based analysis, verification and synthesis.
Horn clauses have been advocated by these communities at different times and from different perspectives, and this workshop is organized to stimulate interaction and a fruitful exchange and integration of experiences.
The workshop follows five previous meetings: HCVS 2018 in Oxford, UK (FLoC), HCVS 2017 in Gothenburg, Sweden (CADE), HCVS 2016 in Eindhoven, The Netherlands (ETAPS), HCVS 2015 in San Francisco, CA, USA (CAV), and HCVS 2014 in Vienna, Austria (VSL).
Aims and Scope
Topics of interest include, but are not limited to the use of Horn clauses, constraints, and related formalisms in the following areas:
- Analysis and verification of programs and systems of various kinds (e.g., imperative, object-oriented, functional, logic, higher-order, concurrent)
- Program synthesis
- Program testing
- Program transformation
- Constraint solving
- Type systems
- Case studies and tools
- Challenging problems
We solicit regular papers describing theory and implementation of Horn-clause based analysis and tool descriptions. We also solicit extended abstracts describing work-in-progress, as well as presentations covering previously published results that are of interest to the workshop.
CHC-COMP
HCVS 2019 will host the 2nd CHC competition (CHC-COMP), which will compare state-of-the-art tools for CHC solving for performance and effectiveness on a set of publicly available benchmarks. More information can be found here. All participants of CHC-COMP are invited (but not obliged) to submit a tool description for publishing either online or at the proceedings through the EasyChair system for HCVS (the HCVS deadlines apply).
Submission
Submission has to be done in one of the following formats:
- Regular papers (up to 12 pages plus bibliography in EPTCS format), which should present previously unpublished work (completed or in progress), including descriptions of research, tools, and applications.
- Tool papers (up to 4 pages plus bibliography in EPTCS format), including the papers written by the CHC-COMP participants, which can outline the theoretical framework, the architecture, the usage, and experiments of the tool.
- Extended abstracts (up to 3 pages in EPTCS format), which describe work in progress or aim to initiate discussions.
- Presentation-only papers, i.e., papers already submitted or presented at a conference or another workshop. Such papers can be submitted in any format, and will not be included in the workshop post-proceedings.
All submitted papers will be reviewed by the program committee and will be selected for inclusion in accordance with the referee reports. Accepted papers will be made available before the workshop on the HCVS website and will be published in a volume of the Electronic Proceedings in Theoretical Computer (EPTCS) series after the workshop (provided that enough regular and tool papers are accepted). Authors of accepted papers are required to ensure that at least one of them will be present at the workshop.
Papers must be submitted through the EasyChair system using the web page: https://easychair.org/conferences/?conf=hcvs2019
Sun 7 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30 | |||
09:00 60m | Invited Talk: Concolic testing of higher-order functional languages HCVS Konstantinos (Kostis) Sagonas Uppsala University File Attached | ||
10:00 30mTalk | HoCHC: A Refutationally Complete and Semantically Invariant System of Higher-order Logic Modulo Theories HCVS Pre-print File Attached |
11:00 - 12:00 | |||
11:00 30mTalk | Challenges in the specialisation of smart Horn clause interpreters HCVS John P. Gallagher Roskilde University File Attached | ||
11:30 30mFull-paper | Proving Properties of Sorting Programs: A Case Study in Horn Clause Verification HCVS Emanuele De Angelis University of Chieti-Pescara, Fabio Fioravanti University of Chieti-Pescara, Alberto Pettorossi University of Rome Tor Vergata, Italy, Maurizio Proietti CNR-IASI File Attached |
13:30 - 15:30 | |||
13:30 60m | Invited Talk: Foundations and Techniques for the Static Analysis of Ethereum Smart Contracts HCVS Matteo Maffei TU Wien File Attached | ||
14:30 30mTalk | Coinduction in Uniform: what's next? HCVS Link to publication | ||
15:00 30mFull-paper | Ultimate TreeAutomizer HCVS Daniel Dietsch University of Freiburg, Matthias Heizmann University of Freiburg, Jochen Hoenicke Universität Freiburg, Alexander Nutz University of Freiburg, Germany, Andreas Podelski University of Freiburg, Germany |
16:00 - 18:00 | |||
16:00 30mTalk | Decomposing Farkas Interpolants HCVS Martin Blicha USI Lugano, Switzerland, Antti Hyvärinen , Jan Kofroň Charles University, Natasha Sharygina USI Lugano, Switzerland File Attached | ||
16:30 30mExperience report | Report on the CHC competition HCVS Grigory Fedyukovich Princeton University |
Invited Talks
Speaker: Matteo Maffei, Technische Universität Wien
Title: Foundations and Techniques for the Static Analysis of Ethereum Smart Contracts
Abstract: The recent growth of the blockchain technology market puts its main cryptocurrencies in the spotlight. Among them, Ethereum stands out due to its virtual machine (EVM) supporting smart contracts, i.e., distributed programs that control the flow of the digital currency Ether. Being written in a Turing complete language, Ethereum smart contracts allow for expressing a broad spectrum of financial applications. The price for this expressiveness, however, is a significant semantic complexity, which increases the risk of programming errors. Recent attacks exploiting bugs in smart contract implementations call for the design of formal verification techniques for smart contracts. This, however, requires rigorous semantic foundations, a formal characterization of the expected security properties, and dedicated abstraction techniques tailored to the specific EVM semantics.
This tutorial will overview the state-of-the-art in smart contract verification, covering formal semantics, security definitions, and verification tools. We will then focus on EtherTrust, a framework for the static analysis of Ethereum smart contracts that we recently introduced, which includes the first complete small-step semantics of EVM bytecode, the first formal characterization of a large class of security properties for smart contracts, and the first static analysis for EVM bytecode, based on Horn clause resolution, that comes with a proof of soundness.
Speaker: Konstantinos (Kostis) Sagonas, Uppsala University
Title: Concolic testing of higher-order functional languages
Abstract: Concolic testing is a fully automatic software testing technique that combines concrete and symbolic execution of a program unit in an attempt to explore all the code paths in this unit or at least explore all its paths up to a depth bound. In this talk, we will describe how concolic testing can be applicable to high-level languages in general and to functional programming languages in particular. For such languages, the concolic engine needs to efficiently support pattern matching, recursive data types such as lists, recursion and higher-order functions. We will also briefly talk about the engineering effort that concolic testing tools require, in particular in interfacing with SMT solvers.
Time permitting, the talk will also include a demo of CutEr (as in “more cute”), a concolic testing tool for Erlang and some of the bugs in the implementation of Erlang/OTP that CutEr has discovered.