Days:
all days
| 09:00-10:00 |
Staging for Synthesis and Analysis (abstract) 60 min
1 Harvard University
|
| 10:30-11:00 |
An Interactive Proof Mode for Dafny Based on Back Translation of Verification Obligations (abstract) 30 min
1 Alexandru Ioan Cuza University, Iasi, Romania
2 Amazon Web Services Seattle, WA, US
ABSTRACT. We extend the Dafny system with an interactive proof mode. We present how the interactive proof mode can be used on a motivating example, we discuss the underlying architecture of the system, and provide a prototype implementation. |
| 11:00-11:30 |
Improvement Theory for Probabilistic Call-by-Need (abstract) 30 min
1 Hochschule RheinMain - University of Applied Sciences and Arts
2 Goethe-University Frankfurt
ABSTRACT. This work investigates resource improvements for probabilistic lazy PCF, a simply typed, higher-order call-by-need functional language with natural numbers, branching, fixpoints, and probabilistic choice. Building on deterministic improvement theory, a contextual cost improvement preorder is defined, requiring semantic equivalence and non-increasing expected reduction steps in all contexts. To avoid context quantification, distribution-cost improvement is introduced as an intrinsic preorder that compares per-value conditional expected steps. The main result establishes that both preorders coincide for closed programs of number type. This extends the distribution-equivalence characterisation to the resource-sensitive setting and enables local, context-free improvement proofs. As applications, garbage collection and a surface unique-copying transformation are verified as cost improvements, while deterministic common subexpression elimination is conjectured to exhibit the same property. |
| 11:30-12:00 |
A Cyclic Proof System for Trace Formula Implication with Least and Greatest Fixpoints (abstract) 30 min
1 Nagoya University
ABSTRACT. Trace logic is an expressive formalism for specifying the step-wise behaviors of recursive programs using state predicates, binary relations, sequential composition, and fixed points. By characterizing a program via its strongest trace formula, verification is reduced to checking the validity of trace formula implications. However, existing proof systems for trace logic are limited to finite traces and rely on explicit fixed-point induction rules, which pose challenges for automated proof search since invariants must be explicitly provided. In this work, we extend trace logic with greatest fixed points to express infinite, reactive behaviors. Furthermore, we propose a cyclic proof system for checking trace formula implications in this extended logic. By representing inductive and co-inductive reasoning as cyclic structures within the proof derivation, our system reduces the need for explicit invariants. Finally, we formally establish the soundness of our proposed system. |
| 14:30-15:30 |
Fully Abstract Normal Form Bisimulation for Call-by-Value PCF (abstract) 60 min
1 Queen Mary University of London
|
| 16:00-16:30 |
On Comparing Python Programs Based on Differences in Rewrite Sequences to Support Grading Programming Exercises (abstract) 30 min
1 Nagoya University
ABSTRACT. In an introductory programming class using, e.g., Python, students are often asked to modify sample programs under specific coding constraints so that the modified programs prompt the printing of expected results by means of print statements in the sample programs. In grading the submitted programs, checking only the correctness of the required printing is insufficient, as it cannot detect unacceptable computational behaviors, deceptive printing, and/or violations of coding constraints. In this paper, we propose a method to support the grading of introductory programming assignments based on the comparison of rewrite sequences of rewrite systems obtained from a pre-prepared answer program and students' submitted programs. In our method, both the answer program and submitted programs are transformed into logically constrained rewrite systems, respectively, and their rewrite sequences from the same initial state for the required execution of the assignment are compared. This enables us to detect differences in execution, such as the use of different constructs or incorrect loop conditions. |
| 16:30-17:00 |
Tactic-driven code fusion (abstract) 30 min
1 EPFL
ABSTRACT. Code fusion, also called deforestation, is a compiler-optimization technique that removes intermediate data structures. Though it has been studied in the literature for over 30 years, it is rarely used in production compilers due to the many challenges that automatic deforestation faces. We believe that many of these issues can be solved if we think about deforestation as an interactive process instead. In this work-in-progress report, we describe the user-controlled system we envision and give preliminary results from working on it. More specifically, we present a small, domain-specific language for deforestation and give intuition for the way many of previous deforestation techniques can be expressed in it. |
| 17:00-17:30 |
Business meeting (abstract) 30 min
1 Nagoya University
|
