English
Related papers

Related papers: Incorrectness Separation Logic with Arrays and Poi…

200 papers

In modern software development, multiple software components, often sourced from different contributors, including AI assistants, are combined to create a cohesive system. Although these components might each be individually safe, their…

Software Engineering · Computer Science 2024-10-25 Peisen Lin , Yuntong Zhang , Andreea Costea , Abhik Roychoudhury

We present a method for verifying partial correctness properties of imperative programs that manipulate integers and arrays by using techniques based on the transformation of constraint logic programs (CLP). We use CLP as a metalanguage for…

Programming Languages · Computer Science 2013-09-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Inductive Logic Programming (ILP) combines rule-based and statistical artificial intelligence methods, by learning a hypothesis comprising a set of rules given background knowledge and constraints for the search space. We focus on extending…

Artificial Intelligence · Computer Science 2018-02-01 Mishal Kazmi , Peter Schüller , Yücel Saygın

The goal of Inductive Logic Programming (ILP) is to learn a program that explains a set of examples in the context of some pre-existing background knowledge. Until recently, most research on ILP targeted learning Prolog programs. Our own…

Artificial Intelligence · Computer Science 2020-05-05 Mark Law , Alessandra Russo , Krysia Broda

Program logics typically reason about an over-approximation of program behaviour to prove the absence of bugs. Recently, program logics have been proposed that instead prove the presence of bugs by means of under-approximate reasoning,…

Logic in Computer Science · Computer Science 2022-03-15 Christopher M. Poskitt

A principled approach to the design of program verification and con- struction tools is applied to separation logic. The control flow is modelled by power series with convolution as separating conjunction. A generic construction lifts…

Logic in Computer Science · Computer Science 2014-10-17 Brijesh Dongol , Victor B. F. Gomes , Georg Struth

A framework is presented for the verification of Signal Temporal Logic (STL) specifications over continuous-time nonlinear systems under uncertainty. Based on reachability analysis, the proposed method addresses indeterminate satisfaction…

Logic in Computer Science · Computer Science 2025-11-25 Antoine Besset , Joris Tillet , Julien Alexandre dit Sandretto

We present an approach to automatically synthesise recursive predicates in Separation Logic (SL) from concrete data structure instances using Inductive Logic Programming (ILP) techniques. The main challenges to make such synthesis effective…

Programming Languages · Computer Science 2025-02-21 Ziyi Yang , Ilya Sergey

A proof procedure, in the spirit of the sequent calculus, is proposed to check the validity of entailments between Separation Logic formulas combining inductively defined predicates denoted structures of bounded tree width and theory…

Logic in Computer Science · Computer Science 2022-06-23 Mnacho Echenim , Nicolas Peltier

Education in the practical applications of logic and proving such as the formal specification and verification of computer programs is substantially hampered by the fact that most time and effort that is invested in proving is actually…

Logic in Computer Science · Computer Science 2018-03-06 Wolfgang Schreiner , Alexander Brunhuemer , Christoph Fürst

Separation Logic (SL) with inductive definitions is a natural formalism for specifying complex recursive data structures, used in compositional verification of programs manipulating such structures. The key ingredient of any automated…

Logic in Computer Science · Computer Science 2014-02-12 Radu Iosif , Adam Rogalewicz , Tomas Vojnar

This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approach can be used as an additional step in a parallelising compiler to verify user annotations about loop dependences. Essentially, our…

Software Engineering · Computer Science 2014-06-16 Stefan Blom , Saeed Darabi , Marieke Huisman

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

We develop the first two heap logics that have implicit heaplets and that admit FO-complete program verification. The notion of FO-completeness is a theoretical guarantee that all theorems that are valid when recursive definitions are…

Logic in Computer Science · Computer Science 2026-01-13 Adithya Murali , Hrishikesh Balakrishnan , Aaron Councilman , P. Madhusudan

Pointer arithmetic is widely used in low-level programs, e.g. memory allocators. The specification of such programs usually requires using pointer arithmetic inside inductive definitions to define the common data structures, e.g. heap lists…

Logic in Computer Science · Computer Science 2024-03-05 Wanyun Su , Zhilin Wu , Mihaela Sighireanu

Inductive logic programming (ILP) is a form of logical machine learning. The goal is to search a hypothesis space for a hypothesis that generalises training examples and background knowledge. We introduce an approach that 'shrinks' the…

Artificial Intelligence · Computer Science 2026-05-18 Andrew Cropper , Filipe Gouveia , David M. Cerna

This paper describes a deductive approach to synthesizing imperative programs with pointers from declarative specifications expressed in Separation Logic. Our synthesis algorithm takes as input a pair of assertions---a pre- and a…

Programming Languages · Computer Science 2018-11-12 Nadia Polikarpova , Ilya Sergey

In this paper the reversibility of executable Interval Temporal Logic (ITL) specifications is investigated. ITL allows for the reasoning about systems in terms of behaviours which are represented as non-empty sequences of states. It allows…

Formal Languages and Automata Theory · Computer Science 2021-07-12 Antonio Cau , Stefan Kuhn , James Hoey

Existing work on theorem proving for the assertion language of separation logic (SL) either focuses on abstract semantics which are not readily available in most applications of program verification, or on concrete models for which…

Logic in Computer Science · Computer Science 2016-08-25 Zhe Hou , Alwen Tiu

Many important functional and security properties--including non-interference, determinism, and generalized non-interference (GNI)--are hyperproperties, i.e., properties relating multiple executions of a program. Existing separation logics…

Programming Languages · Computer Science 2026-04-21 Trayan Gospodinov , Peter Müller , Thibault Dardinier