English
Related papers

Related papers: Compositional Safety Verification with Max-SMT

200 papers

We present Hindley-Milner-Cousots (HMC), an algorithm that allows any interprocedural analysis for first-order imperative programs to be used to verify safety properties of typed higher-order functional programs. HMC works as follows.…

Programming Languages · Computer Science 2011-01-04 Ranjit Jhala , Rupak Majumdar , Andrey Rybalchenko

Fundamentally, every static program analyser searches for a proof through a combination of heuristics providing candidate solutions and a candidate validation technique. Essentially, the heuristic reduces a second-order problem to a…

Logic in Computer Science · Computer Science 2015-01-20 Cristina David , Daniel Kroening , Matt Lewis

We propose a framework for verifiable and compositional reinforcement learning (RL) in which a collection of RL subsystems, each of which learns to accomplish a separate subtask, are composed to achieve an overall task. The framework…

Machine Learning · Computer Science 2022-05-16 Cyrus Neary , Christos Verginis , Murat Cubuktepe , Ufuk Topcu

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

We consider the problem of safety verification and safety-aware controller synthesis for systems with sector bounded nonlinearities. We aim to keep the states of the system within a given safe set under potential actuator and sensor…

Systems and Control · Electrical Eng. & Systems 2025-04-15 Yankai Lin , Michelle S. Chong , Carlos Murguia

Man-At-The-End (MATE) attackers are almighty adversaries against whom there exists no silver-bullet countermeasure. To raise the bar, a wide range of protection measures were proposed in the literature each of which adds resilience against…

Cryptography and Security · Computer Science 2019-09-26 Mohsen Ahmadvand , Dennis Fischer , Sebastian Banescu

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

In this thesis a comprehensive verification framework is proposed to contend with some important issues in composability verification and a verification process is suggested to verify composability of different kinds of systems models, such…

Software Engineering · Computer Science 2023-01-10 Imran Mahmood

Static analysers search for overapproximating proofs of safety commonly known as safety invariants. Fundamentally, such analysers summarise traces into sets of states, thus trading the ability to distinguish traces for computational…

Programming Languages · Computer Science 2015-03-19 Cristina David , Daniel Kroening , Matt Lewis

Automated program verifiers are typically implemented using an intermediate verification language (IVL), such as Boogie or Why3. A verifier front-end translates the input program and specification into an IVL program, while the back-end…

Programming Languages · Computer Science 2024-05-13 Gaurav Parthasarathy , Thibault Dardinier , Benjamin Bonneau , Peter Müller , Alexander J. Summers

The problem of inferring an inductive invariant for verifying program safety can be formulated in terms of binary classification. This is a standard problem in machine learning: given a sample of good and bad points, one is asked to find a…

Programming Languages · Computer Science 2015-01-21 Siddharth Krishna , Christian Puhrsch , Thomas Wies

To ensure programs do not leak private data, we often want to be able to provide formal guarantees ensuring such data is handled correctly. Often, we cannot keep such data secret entirely; instead programmers specify how private data may be…

Programming Languages · Computer Science 2026-04-21 Jan Menz , Andrew K. Hirsch , Peixuan Li , Deepak Garg

In this work we develop a fully automatic verification procedure of safety properties of Scade programs. We transform each such program into an SMT instance (Satisfiability Modulo Theories) and feed this to a solver. The goal is to have a…

Logic in Computer Science · Computer Science 2014-03-13 Henning Basold

Safety is a critical property for control systems in medicine, transportation, manufacturing, and other applications, and can be defined as ensuring positive invariance of a predefined safe set. This paper investigates the problems of…

Systems and Control · Electrical Eng. & Systems 2024-11-12 Andrew Clark

Among the various critical systems that worth to be formally analyzed, a wide set consists of controllers for dynamical systems. Those programs typically execute an infinite loop in which simple com putations update internal states and…

Optimization and Control · Mathematics 2014-09-18 Assalé Adje , Pierre-Loïc Garoche

Recent advances in deep learning have enabled the development of autonomous systems that use deep neural networks for perception. Formal verification of these systems is challenging due to the size and complexity of the perception DNNs as…

Machine Learning · Computer Science 2025-04-30 Christopher Watson , Rajeev Alur , Divya Gopinath , Ravi Mangal , Corina S. Pasareanu

This paper presents conditions for ensuring forward invariance of safe sets under sampled-data system dynamics with piecewise-constant controllers and fixed time-steps. First, we introduce two different metrics to compare the…

Optimization and Control · Mathematics 2021-06-28 Joseph Breeden , Kunal Garg , Dimitra Panagou

Propositional bounded model checking has been applied successfully to verify embedded software but is limited by the increasing propositional formula size and the loss of structure during the translation. These limitations can be reduced by…

Software Engineering · Computer Science 2009-07-14 Lucas Cordeiro , Bernd Fischer , Joao Marques-Silva

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic…

Programming Languages · Computer Science 2019-11-01 Azadeh Farzan , Anthony Vandikas

Auto-active program verification rests on the ability to effectively the translation from annotated programs into verification conditions that are then discharged by automated theorem provers in the background. Characteristic such tools,…

Logic in Computer Science · Computer Science 2026-02-12 Gidon Ernst