English
Related papers

Related papers: Relational Symbolic Execution

200 papers

In Programming by Example, a system attempts to infer a program from input and output examples, generally by searching for a composition of certain base functions. Performing a naive brute force search is infeasible for even mildly involved…

Artificial Intelligence · Computer Science 2012-09-19 Aditya Krishna Menon , Omer Tamuz , Sumit Gulwani , Butler Lampson , Adam Tauman Kalai

Large Language Models (LLMs) have shown remarkable reasoning performance but struggle with multi-step deductive reasoning involving a series of rule application steps, especially when rules are presented non-sequentially. Our preliminary…

Computation and Language · Computer Science 2024-08-27 Siyuan Wang , Zhongyu Wei , Yejin Choi , Xiang Ren

We introduce a novel approach to the automated termination analysis of computer programs: we use neural networks to represent ranking functions. Ranking functions map program states to values that are bounded from below and decrease as a…

Machine Learning · Computer Science 2022-09-07 Mirco Giacobbe , Daniel Kroening , Julian Parsert

We have been developing a system for recognising human activity given a symbolic representation of video content. The input of our system is a set of time-stamped short-term activities detected on video frames. The output of our system is a…

Artificial Intelligence · Computer Science 2013-04-30 A. Artikis , M. Sergot , G. Paliouras

This paper proposes relational program synthesis, a new problem that concerns synthesizing one or more programs that collectively satisfy a relational specification. As a dual of relational program verification, relational program synthesis…

Programming Languages · Computer Science 2018-09-12 Yuepeng Wang , Xinyu Wang , Isil Dillig

Applicative bisimulation is a coinductive technique to check program equivalence in higher-order functional languages. It is known to be sound, and sometimes complete, with respect to context equivalence. In this paper we show that…

Logic in Computer Science · Computer Science 2015-06-23 Ugo Dal Lago , Alessandro Rioli

Runtime enforcement is a dynamic analysis technique that instruments a monitor with a system in order to ensure its correctness as specified by some property. This paper explores bidirectional enforcement strategies for properties…

Logic in Computer Science · Computer Science 2023-06-22 Luca Aceto , Ian Cassar , Adrian Francalanza , Anna Ingolfsdottir

Synchronous programming is a paradigm of choice for the design of safety-critical reactive systems. Runtime enforcement is a technique to ensure that the output of a black-box system satisfies some desired properties. This paper deals with…

Formal Languages and Automata Theory · Computer Science 2016-12-16 Srinivas Pinisetty , Partha S Roop , Steven Smyth , Stavros Tripakis , Reinhard von Hanxleden

Software testing is one of the most popular validation techniques in the software industry. Surprisingly, we can only find a few approaches to testing in the context of logic programming. In this paper, we introduce a systematic approach…

Programming Languages · Computer Science 2020-02-19 Fred Mesnard , Étienne Payet , Germán Vidal

Monitoring consists in deciding whether a log meets a given specification. In this work, we propose an automata-based formalism to monitor logs in the form of actions associated with time stamps and arbitrarily data values over infinite…

Formal Languages and Automata Theory · Computer Science 2019-07-31 Masaki Waga , Étienne André , Ichiro Hasuo

Those seeking to reproduce a computational experiment often need to manually look at the code to see how to build necessary libraries, configure parameters, find data, and invoke the experiment; it is not automatic. Automatic…

Software Engineering · Computer Science 2023-07-24 Samuel Grayson , Reed Milewicz , Joshua Teves , Daniel S. Katz , Darko Marinov

Many interesting program properties involve the execution of multiple programs, including observational equivalence, noninterference, co-termination, monotonicity, and idempotency. One strategy for verifying such relational properties is to…

Programming Languages · Computer Science 2025-03-13 Robert Dickerson , Prasita Mukherjee , Benjamin Delaware

Symbolic regression searches for analytic expressions that accurately describe studied phenomena. The main attraction of this approach is that it returns an interpretable model that can be insightful to users. Historically, the majority of…

This paper introduces cozy, a tool for analyzing and visualizing differences between two versions of a software binary. The primary use case for cozy is validating "micropatches": small binary or assembly-level patches inserted into…

Software Engineering · Computer Science 2025-09-04 Caleb Helbling , Graham Leach-Krouse , Sam Lasser , Greg Sullivan

Rational relations are binary relations of finite words that are realised by non-deterministic finite state transducers (NFT). A particular kind of rational relations is the sequential functions. Sequential functions are the functions that…

Formal Languages and Automata Theory · Computer Science 2015-04-16 Ismaël Jecker , Emmanuel Filiot

Symbolic models are abstract descriptions of continuous systems in which symbols represent aggregates of continuous states. In the last few years there has been a growing interest in the use of symbolic models as a tool for mitigating…

Optimization and Control · Mathematics 2007-07-31 Giordano Pola , Paulo Tabuada

According to Strachey, a polymorphic program is parametric if it applies a uniform algorithm independently of the type instantiations at which it is applied. The notion of relational parametricity, introduced by Reynolds, is one possible…

Programming Languages · Computer Science 2019-03-14 Rasmus Ejlers Møgelberg , Alex Simpson

We build on a fine-grained analysis of session-based interaction as provided by the linear logic typing disciplines to introduce the SAM, an abstract machine for mechanically executing session-typed processes. A remarkable feature of the…

Programming Languages · Computer Science 2024-01-22 Luís Caires , Bernardo Toninho

Runtime verification encompasses several lightweight techniques for checking whether a system's current execution satisfies a given specification. We focus on runtime verification for Linear Temporal Logic (LTL). Previous work describes…

Logic in Computer Science · Computer Science 2025-08-12 Javier Esparza , Vincent Fischer

The standard engineering approach to modelling of complex systems is highly compositional. In order to be able to understand (or to control) the behavior of a complex dynamical systems, it is often desirable, if not necessary, to view this…

Systems and Control · Computer Science 2013-07-01 Antoine Girard