English
Related papers

Related papers: Ownership Refinement Types for Pointer Arithmetic …

200 papers

Model-driven design of software for safety-critical applications often relies on mathematically grounded techniques such as the B method. Such techniques consist in the successive applications of refinements to derive a concrete…

Software Engineering · Computer Science 2009-07-14 David Deharbe , Bruno E. G. Gomes , Anamaria M. Moreira

Cooperation between verification methods is crucial to tackle the challenging problem of software verification. The paper focuses on the verification of C programs using pointers and it formalizes a cooperation between static analyzers…

Programming Languages · Computer Science 2018-12-03 Bouillaguet Quentin , Bobot François , Sighireanu Mihaela , Yakobowski Boris

This paper considers parametricity and its consequent free theorems for nested data types. Rather than representing nested types via their Church encodings in a higher-kinded or dependently typed extension of System F, we adopt a functional…

Logic in Computer Science · Computer Science 2023-06-22 Patricia Johann , Enrico Ghiorzi

We introduce two-sided type systems, which are sequent calculi for typing formulas. Two-sided type systems allow for hypothetical reasoning over the typing of compound program expressions, and the refutation of typing formulas. By…

Programming Languages · Computer Science 2023-10-23 Steven Ramsay , Charlie Walpole

In program verification, constraint-based random testing is a powerful technique which aims at generating random test cases that satisfy functional properties of a program. However, on recursive constrained data-structures (e.g., sorted…

Programming Languages · Computer Science 2022-08-29 Ghiles Ziat , Vincent Botbol , Matthieu Dien , Arnaud Gotlieb , Martin Pépin , Catherine Dubois

We present a type system capable of guaranteeing the memory safety of programs that may involve (sophisticated) pointer manipulation such as pointer arithmetic. With its root in a recently developed framework Applied Type System (ATS), the…

Programming Languages · Computer Science 2018-10-30 Hongwei Xi , Dengping Zhu

We present a tool that primarily supports the ability to check bounded properties starting from a sequence of states in a run. The target design is compiled into an AIGNET which is then selectively and iteratively translated into an…

Software Engineering · Computer Science 2018-11-07 Rob Sumners

As machine learning systems are increasingly used to make real world legal and financial decisions, it is of paramount importance that we develop algorithms to verify that these systems do not discriminate against minorities. We design a…

Artificial Intelligence · Computer Science 2020-01-01 Osbert Bastani , Xin Zhang , Armando Solar-Lezama

Interpolation based software model checkers have been successfully employed to automatically prove programs correct. Their power comes from interpolating SMT solvers that check the feasibility of potential counterexamples and compute…

Logic in Computer Science · Computer Science 2019-04-26 Jochen Hoenicke , Tanja Schindler

Despite an abundance of proposed systems, the verification of units-of-measure within programs remains rare in scientific computing. We attempt to address this issue by providing a lightweight static verification system for units-of-measure…

Programming Languages · Computer Science 2024-06-05 Matthew Danish , Dominic Orchard , Andrew Rice

The formal specification and verification of machine learning programs saw remarkable progress in less than a decade, leading to a profusion of tools. However, diversity may lead to fragmentation, resulting in tools that are difficult to…

Software Engineering · Computer Science 2026-01-21 Michele Alberti , François Bobot , Julien Girard-Satabin , Alban Grastien , Aymeric Varasse , Zakaria Chihani

We propose an abstraction-based model checking method which relies on refinement of an under-approximation of the feasible behaviors of the system under analysis. The method preserves errors to safety properties, since all analyzed…

Computer Science and Game Theory · Computer Science 2017-01-11 Corina S. Pasareanu , Radek Pelanek , Willem Visser

We propose an automated verification technique for hypersafety properties, which express sets of valid interrelations between multiple finite runs of a program. The key observation is that constructing a proof for a small representative set…

Programming Languages · Computer Science 2019-05-23 Azadeh Farzan , Anthony Vandikas

Statecharts are frequently used as a modeling formalism in the design of state-based systems. Formal verification techniques are also often applied to prove certain properties about the behavior of the system. One of the most efficient…

Logic in Computer Science · Computer Science 2017-03-23 Bence Czipó , Ákos Hajdu , Tamás Tóth , István Majzik

Program verification techniques typically focus on finding counter-examples that violate properties of a program. Constraint programming offers a convenient way to verify programs by modeling their state transformations and specifying…

Artificial Intelligence · Computer Science 2020-03-02 Heytem Zitoun , Claude Michel , Laurent Michel , Michel Rueher

We propose a novel approach for the development, analysis, and verification of reductions between NP-complete problems. This method uses the URSA system, a SAT-based constraint solver and incorporates features that distinguish it from…

Logic in Computer Science · Computer Science 2025-11-25 Predrag Janičić

Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar - i.e., an inductively defined set of programs. Current verification frameworks…

Programming Languages · Computer Science 2025-07-29 Jinwoo Kim , Shaan Nagy , Thomas Reps , Loris D'Antoni

Intuitionistic grammar logics fuse constructive and multi-modal reasoning while permitting the use of converse modalities, serving as a generalization of standard intuitionistic modal logics. In this paper, we provide definitions of these…

Logic in Computer Science · Computer Science 2025-12-04 Tim S. Lyon

This article presents liquid resource types, a technique for automatically verifying the resource consumption of functional programs. Existing resource analysis techniques trade automation for flexibility -- automated techniques are…

Programming Languages · Computer Science 2020-07-03 Tristan Knoth , Di Wang , Adam Reynolds , Jan Hoffmann , Nadia Polikarpova

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and object-oriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent…

Programming Languages · Computer Science 2016-10-24 Hiroshi Unno , Sho Torii