VLDB 2026 Research / reviewers in the wild / expert
Peter Schachte
dblp:71/214
· DBLP profile ↗
45ranked-venue papers
5as first author
7since 2021 · last 2026
0000-0001-5959-3769ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 30 · 3 first-author · 7 since 2021Artificial intelligence and machine learning · 10 · 1 first-authorTheory of computation · 9 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3Systems, architecture and hardware · 1Security and privacy · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | The Memorist Tale: Every Thunk Every Cost All At OnceabstractAbstract Lazy evaluation offers great flexibility by computing only what is necessary. However, analysing the cost of lazy programs is notoriously challenging, as computation occurs out of order and depends on future demands. Recent work has proposed alternative semantics for modelling lazy evaluation cost that avoid reasoning about program states. However, existing approaches either rely on nondeterminism or require complex bidirectional semantics. We present the Memorist Semantics , a novel semantics for analysing the cost of lazy programs by explicitly tracking the cost and dependencies of every subterm. Our semantics annotates components of a term with fine-grained cost and usage information, yielding a deterministic semantics that can be expressed through a simple monadic interface. We formalize the semantics in Rocq and verify its soundness with respect to the existing Clairvoyance Semantics. Similar to prior formalized semantics, our semantics is defined for a total, typed language with built-in structural recursion and without support for first-class functions. We outline ideas for possible extensions. Yao Li 0004, Peter Schachte, Christine Rizkallah |
ESOP (1) | 3 |
| 2025 | Memory Safety: Uniqueness as Separation
P. Selene Linares-Arévalo, Arthur Azevedo de Amorim, Vincent Jackson, Liam O'Connor, Peter Schachte, Christine Rizkallah |
APLAS | 5 |
| 2024 | A lightweight approach to nontermination inference using Constrained Horn Clauses
Bishoksan Kafle, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
Softw. Syst. Model. | 3 |
| 2021 | Disjunctive Interval Analysis
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
SAS | 3 |
| 2021 | Lightweight Nontermination Inference with CHCs
Bishoksan Kafle, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
SEFM | 3 |
| 2021 | A Fresh Look at Zones and OctagonsabstractZones and Octagons are popular abstract domains for static program analysis. They enable the automated discovery of simple numerical relations that hold between pairs of program variables. Both domains are well understood mathematically but the detailed implementation of static analyses based on these domains poses many interesting algorithmic challenges. In this article, we study the two abstract domains, their implementation and use. Utilizing improved data structures and algorithms for the manipulation of graphs that represent difference-bound constraints, we present fast implementations of both abstract domains, built around a common infrastructure. We compare the performance of these implementations against alternative approaches offering the same precision. We quantify the differences in performance by measuring their speed and precision on standard benchmarks. We also assess, in the context of software verification, the extent to which the improved precision translates to better verification outcomes. Experiments demonstrate that our new implementations improve the state of the art for both Zones and Octagons significantly. Graeme Gange, Zequn Ma, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
ACM Trans. Program. Lang. Syst. | 4 |
| 2021 | Transformation-Enabled Precondition InferenceabstractAbstract Precondition inference is a non-trivial problem with important applications in program analysis and verification. We present a novel iterative method for automatically deriving preconditions for the safety and unsafety of programs. Each iteration maintains over-approximations of the set of safe and unsafe initial states, which are used to partition the program’s initial states into those known to be safe, known to be unsafe and unknown. We then construct revised programs with those unknown initial states and iterate the procedure until the approximations are disjoint or some termination criteria are met. An experimental evaluation of the method on a set of software verification benchmarks shows that it can infer precise preconditions (sometimes optimal) that are not possible using previous methods. Bishoksan Kafle, Graeme Gange, Peter J. Stuckey, Peter Schachte, Harald Søndergaard |
Theory Pract. Log. Program. | 4 |
| 2020 | String Constraint Solving: Past, Present and FutureabstractString constraint solving is an important emerging field, given the ubiquity of strings over different fields such as formal analysis, automated testing, database query processing, and cybersecurity. This paper highlights the current state-of-the-art for string constraint solving, and identifies future challenges in this field. Roberto Amadini, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
ECAI | 3 |
| 2020 | Algorithm Selection for Dynamic Symbolic Execution: A Preliminary Study
Roberto Amadini, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
LOPSTR | 3 |
| 2019 | Dissecting Widening: Separating Termination from Information
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
APLAS | 3 |
| 2019 | Optimal Bounds for Floating-Point Addition in Constant TimeabstractReasoning about floating-point numbers is notoriously difficult, owing to the lack of convenient algebraic properties such as associativity. This poses a substantial challenge for program analysis and verification tools which rely on precise floating-point constraint solving. Currently, interval methods in this domain often exhibit slow convergence even on simple examples. We present a new theorem supporting efficient computation of exact bounds of the intersection of a rectangle with the preimage of an interval under floating-point addition, in any radix or rounding mode. We thus give an efficient method of deducing optimal bounds on the components of an addition, solving the convergence problem. Mak Andrlon, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
ARITH | 2 |
| 2019 | Constraint Programming for Dynamic Symbolic Execution of JavaScript
Roberto Amadini, Mak Andrlon, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
CPAIOR | 4 |
| 2018 | Machine Learning and Constraint Programming for Relational-To-Ontology Schema MappingabstractThe problem of integrating heterogeneous data sources into an ontology is highly relevant in the database field. Several techniques exist to approach the problem, but side constraints on the data cannot be easily implemented and thus the results may be inconsistent. In this paper we improve previous work by Taheriyan et al. [2016a] using Machine Learning (ML) to take into account inconsistencies in the data (unmatchable attributes) and encode the problem as a variation of the Steiner Tree, for which we use work by De Uña et al. [2016] in Constraint Programming (CP). Combining ML and CP achieves state-of-the-art precision, recall and speed, and provides a more flexible framework for variations of the problem. Diego de Uña, Nataliia Rümmele, Graeme Gange, Peter Schachte, Peter J. Stuckey |
IJCAI | 4 |
| 2018 | Reference Abstract Domains and Applications to String AnalysisabstractAbstract interpretation is a well established theory that supports reasoning about the run-time behaviour of programs. It achieves tractable reasoning by considering abstractions of run-time states, rather than the states themselves. The chosen set of abstractions is referred to as the abstract domain. We develop a novel framework for combining (a possibly large number of) abstract domains. It achieves the effect of the so-called reduced product without requiring a quadratic number of functions to translate information among abstract domains. A central notion is a reference domain, a medium for information exchange. Our approach suggests a novel and simpler way to manage the integration of large numbers of abstract domains. We instantiate our framework in the context of string analysis. Browser-embedded dynamic programming languages such as JavaScript and PHP encourage the use of strings as a universal data type for both code and data values. The ensuing vulnerabilities have made string analysis a focus of much recent research. String analysis tends to combine many elementary string abstract domains, each designed to capture a specific aspect of strings. For this instance the set of regular languages, while too expensive to use directly for analysis, provides an attractive reference domain, enabling the efficient simulation of reduced products of multiple string abstract domains. Roberto Amadini, Graeme Gange, François Gauthier 0001, Alexander Jordan, Peter Schachte, Harald Søndergaard, Peter J. Stuckey, Chenyi Zhang 0001 |
Fundam. Informaticae | 5 |
| 2018 | An iterative approach to precondition inference using constrained Horn clausesabstractAbstract We present a method for automatic inference of conditions on the initial states of a program that guarantee that the safety assertions in the program are not violated. Constrained Horn clauses (CHCs) are used to model the program and assertions in a uniform way, and we use standard abstract interpretations to derive an over-approximation of the set ofunsafeinitial states. The precondition then is the constraint corresponding to the complement of that set, under-approximating the set ofsafeinitial states. This idea of complementation is not new, but previous attempts to exploit it have suffered from the loss of precision. Here we develop an iterative specialisation algorithm to give more precise, and in some cases optimal safety conditions. The algorithm combines existing transformations, namely constraint specialisation, partial evaluation and a trace elimination transformation. The last two of these transformations perform polyvariant specialisation, leading to disjunctive constraints which improve precision. The algorithm is implemented and tested on a benchmark suite of programs from the literature in precondition inference and software verification competitions. Bishoksan Kafle, John P. Gallagher, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
Theory Pract. Log. Program. | 4 |
| 2017 | Minimizing Landscape Resistance for Habitat Conservation
Diego de Uña, Graeme Gange, Peter Schachte, Peter J. Stuckey |
CPAIOR | 3 |
| 2017 | A Benders Decomposition Approach to Deciding Modular Linear Integer Arithmetic
Bishoksan Kafle, Graeme Gange, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
SAT | 3 |
| 2017 | Combining String Abstract Domains for JavaScript Analysis: An Evaluation
Roberto Amadini, Alexander Jordan, Graeme Gange, François Gauthier 0001, Peter Schachte, Harald Søndergaard, Peter J. Stuckey, Chenyi Zhang 0001 |
TACAS (1) | 5 |
| 2016 | Steiner Tree Problems with Side Constraints Using Constraint ProgrammingabstractThe Steiner Tree Problem is a well know NP-complete problem that is well studied and for which fast algorithms are already available. Nonetheless, in the real world the Steiner Tree Problem is almost always accompanied by side constraints which means these approaches cannot be applied. For many problems with side constraints, only approximation algorithms are known. We introduce here a propagator for the tree constraint with explanations, as well as lower bounding techniques and a novel constraint programming approach for the Steiner Tree Problem and two of its variants. We find our propagators with explanations are highly advantageous when it comes to solving variants of this problem. Diego de Uña, Graeme Gange, Peter Schachte, Peter J. Stuckey |
AAAI | 3 |
| 2016 | A Bounded Path Propagator on Directed Graphs
Diego de Uña, Graeme Gange, Peter Schachte, Peter J. Stuckey |
CP | 3 |
| 2016 | Weighted Spanning Tree Constraint with Explanations
Diego de Uña, Graeme Gange, Peter Schachte, Peter J. Stuckey |
CPAIOR | 3 |
| 2016 | Exploiting Sparsity in Difference-Bound Matrices
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
SAS | 3 |
| 2016 | An Abstract Domain of Uninterpreted Functions
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
VMCAI | 3 |
| 2016 | Adtpp: lightweight efficient safe polymorphic algebraic data types for CabstractSummary Adtpp is an open‐source tool that adds support for algebraic data types (ADTs) to the C programming language. ADTs allow more precise description of program types and more robust handling of data structures than are directly supported by C. ADT definitions and other declarations are put in a file that is preprocessed by adtpp to produce a C header (‘.h’) file that can be included in C source files. The generated header file contains C type definitions, macros, and inline functions that support type‐safe construction, deconstruction, and pattern matching of ADT values while avoiding unsafe operations such as casts, and avoiding the risk of errors such as dereferencing NULL pointers and accessing inappropriate fields of unions. Values are represented efficiently, using techniques from the implementation of declarative languages. For many simple data types, the memory representation is identical to a direct implementation in C, with no loss of efficiency. For more complex types, the adtpp representation is more efficient than common C representations while preserving type safety and convenience. As an example, we present a new variation of 234‐trees that is very compact. Adtpp also supports parametric polymorphism such as defining a type ‘list of t’, where t can be any ADT, and generic functions such as length. However, polymorphic code is somewhat more verbose than for typical declarative languages, due to our reliance on the limited type checking available in C. Copyright © 2016 John Wiley & Sons, Ltd. Lee Naish, Peter Schachte, Aleck M. MacNally |
Softw. Pract. Exp. | 2 |
| 2016 | A complete refinement procedure for regular separability of context-free languages
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
Theor. Comput. Sci. | 3 |
| 2015 | Horn clauses as an intermediate representation for program analysis and transformationabstractAbstract Many recent analyses for conventional imperative programs begin by transforming programs into logic programs, capitalising on existing LP analyses and simple LP semantics. We propose using logic programs as an intermediate program representation throughout the compilation process. With restrictions ensuring determinism and single-modedness, a logic program can easily be transformed to machine language or other low-level language, while maintaining the simple semantics that makes it suitable as a language for program analysis and transformation. We present a simple LP language that enforces determinism and single-modedness, and show that it makes a convenient program representation for analysis and transformation. Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
Theory Pract. Log. Program. | 3 |
| 2014 | Analyzing Array Manipulating Programs by Program Transformation
J. Robert M. Cornish, Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
LOPSTR | 4 |
| 2014 | Interval Analysis and Machine Arithmetic: Why Signedness Ignorance Is BlissabstractThe most commonly used integer types have fixed bit-width, making it possible for computations to “wrap around,” and many programs depend on this behaviour. Yet much work to date on program analysis and verification of integer computations treats integers as having infinite precision, and most analyses that do respect fixed width lose precision when overflow is possible. We present a novel integer interval abstract domain that correctly handles wrap-around. The analysis is signedness agnostic. By treating integers as strings of bits, only considering signedness for operations that treat them differently, we produce precise, correct results at a modest cost in execution time. Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
ACM Trans. Program. Lang. Syst. | 3 |
| 2013 | Solving Difference Constraints over Modular Arithmetic
Graeme Gange, Harald Søndergaard, Peter J. Stuckey, Peter Schachte |
CADE | 4 |
| 2013 | Abstract Interpretation over Non-lattice Abstract Domains
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
SAS | 3 |
| 2013 | Unbounded Model-Checking with Interpolation for Regular Language Constraints
Graeme Gange, Jorge A. Navas, Peter J. Stuckey, Harald Søndergaard, Peter Schachte |
TACAS | 5 |
| 2013 | Failure tabled constraint logic programming by interpolationabstractAbstract We present a new execution strategy for constraint logic programs called Failure Tabled CLP. Similarly to Tabled CLP our strategy records certain derivations in order to prune further derivations. However, our method only learns from failed derivations. This allows us to compute interpolants rather than constraint projection for generation of reuse conditions. As a result, our technique can be used where projection is too expensive or does not exist. Our experiments indicate that Failure Tabling can speed up the execution of programs with many redundant failed derivations as well as achieve termination in the presence of infinite executions. Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
Theory Pract. Log. Program. | 3 |
| 2012 | Signedness-Agnostic Program Analysis: Precise Integer Bounds for Low-Level Code
Jorge A. Navas, Peter Schachte, Harald Søndergaard, Peter J. Stuckey |
APLAS | 2 |
| 2011 | Estimating the overlap between dependent computations for automatic parallelizationabstractAbstract Researchers working on the automatic parallelization of programs have long known that too much parallelism can be even worse for performance than too little, because spawning a task to be run on another CPU incurs overheads. Autoparallelizing compilers have therefore long tried to use granularity analysis to ensure that they only spawn off computations whose cost will probably exceed the spawn-off cost by a comfortable margin. However, this is not enough to yield good results, because data dependencies may also limit the usefulness of running computations in parallel. If one computation blocks almost immediately and can resume only after another has completed its work, then the cost of parallelization again exceeds the benefit. We present a set of algorithms for recognizing places in a program where it is worthwhile to execute two or more computations in parallel that pay attention to the second of these issues as well as the first. Our system uses profiling information to compute the times at which a procedure call consumes the values of its input arguments and the times at which it produces the values of its output arguments. Given two calls that may be executed in parallel, our system uses the times of production and consumption of the variables they share to determine how much their executions would overlap if they were run in parallel, and therefore whether executing them in parallel is a good idea or not. We have implemented this technique for Mercury in the form of a tool that uses profiling data to generate recommendations about what to parallelize, for the Mercury compiler to apply on the next compilation of the program. We present preliminary results that show that this technique can yield useful parallelization speedups, while requiring nothing more from the programmer than representative input data for the profiling run. Paul Bone, Zoltan Somogyi, Peter Schachte |
Theory Pract. Log. Program. | 3 |
| 2010 | Information loss in knowledge compilation: A comparison of Boolean envelopes
Peter Schachte, Harald Søndergaard, Leigh Whiting, Kevin Henshall |
Artif. Intell. | 1 |
| 2009 | State Joining and Splitting for the Symbolic Execution of Binaries
Trevor Hansen, Peter Schachte, Harald Søndergaard |
RV | 2 |
| 2007 | Secure random number agreement for peer-to-peer applicationsabstractWe propose a protocol for a group of peers in a peer- to-peer network to securely generate an agreed random value without the use of a central authority. We can vary the security parameters to maintain security (to a desired probability) in the presence of a high percentage of corrupt and colluding peers. We envision using this protocol to generate random content in a peer-to-peer game. It could also be used for generating input into peer-to-peer protocols that require random values, such as group selection. Amy Beth Corman, Peter Schachte, Vanessa Teague |
ICPADS | 2 |
| 2006 | A Secure Event Agreement (SEA) protocol for peer-to-peer gamesabstractSecure updates in a peer-to-peer game where all of the players are untrusted offers a unique challenge. We analyse the NEO protocol which was designed to accomplish the exchange of update information among players in a fair and authenticated manner. We show that of the five forms of cheating it was designed to prevent, it prevents only three. We then propose an improved protocol which we call Secure Event Agreement (SEA) which prevents all five types of cheating as well as meeting some additional security criteria. We also show that the performance of SEA is at worst equal to NEO and in some cases better. Amy Beth Corman, Scott Douglas, Peter Schachte, Vanessa Teague |
ARES | 3 |
| 2006 | Size-Change Termination Analysis in k-Bits
Michael Codish, Vitaly Lagoon, Peter Schachte, Peter J. Stuckey |
ESOP | 3 |
| 2006 | Closure Operators for ROBDDs
Peter Schachte, Harald Søndergaard |
VMCAI | 1 |
| 2003 | Sequence Quantification
Peter Schachte |
PADL | 1 |
| 2003 | Precise goal-independent abstract interpretation of constraint logic programs
Peter Schachte |
Theor. Comput. Sci. | 1 |
| 1998 | Two Classes of Boolean Functions for Dependency Analysis
Tania Armstrong, Kim Marriott, Peter Schachte, Harald Søndergaard |
Sci. Comput. Program. | 3 |
| 1997 | Global Variables in Logic Programming
Peter Schachte |
ICLP | 1 |
| 1994 | Boolean Functions for Dependency Analysis: Algebraic Properties and Efficient Representation
Tania Armstrong, Kim Marriott, Peter Schachte, Harald Søndergaard |
SAS | 3 |