English
Related papers

Related papers: An Exercise in Invariant-based Programming with In…

200 papers

With the complexity of Integrated Circuits increasing, design verification has become the most time consuming part of the ASIC design flow. Nearly 70% of the SoC design cycle is consumed by verification. The most commonly used approach to…

Machine Learning · Computer Science 2020-12-07 B. Samhita Varambally , Naman Sehgal

Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and…

Software Engineering · Computer Science 2014-05-08 Nadia Polikarpova , Julian Tschannen , Carlo A. Furia , Bertrand Meyer

This paper focuses on formally verifying invariant properties of control programs both at the model and code levels. The physical process is described by an uncertain discrete-time state-space system, where the dependence of the state-space…

Systems and Control · Electrical Eng. & Systems 2025-03-18 Elias Khalife , Pierre-Loic Garoche , Mazen Farhood

This paper investigates the algorithmic safety verification problem of infinite-state parameterized concurrent programs over a rich set of communication topologies. The goal is to automatically produce a proof of correctness in the form of…

Logic in Computer Science · Computer Science 2026-05-15 Ruotong Cheng , Azadeh Farzan

Composition technologies improve reuse in the development of large-scale complex systems. Safety critical systems require intensive validation and verification activities. These activities should be compositional in order to reduce the…

Software Engineering · Computer Science 2014-04-04 Mounira Kezadri Hamiaz , Marc Pantel , Benoît Combemale , Xavier Thirioux

IP-based software design is a crucial research field that aims to improve efficiency and reliability by reusing complex software components known as intellectual property (IP) components. To ensure the reusability of these components,…

Software Engineering · Computer Science 2024-04-02 Zhi Ma , Cheng Wen , Jie Su , Ming Zhao , Bin Yu , Xu Lu , Cong Tian

We propose a novel approach to interactive theorem-proving (ITP) using deep reinforcement learning. The proposed framework is able to learn proof search strategies as well as tactic and arguments prediction in an end-to-end manner. We…

Machine Learning · Computer Science 2021-06-18 Minchao Wu , Michael Norrish , Christian Walder , Amir Dezfouli

In order to address the imprecision often introduced by widening operators in static analysis, policy iteration based on min-computations amounts to considering the characterization of reachable value set of a program as an iterative…

Logic in Computer Science · Computer Science 2016-12-07 Assalé Adjé , Pierre-Loïc Garoche , Victor Magron

Artificial Intelligence for Theorem Proving has given rise to a plethora of benchmarks and methodologies, particularly in Interactive Theorem Proving (ITP). Research in the area is fragmented, with a diverse set of approaches being spread…

Artificial Intelligence · Computer Science 2025-02-14 Sean Lamont , Michael Norrish , Amir Dezfouli , Christian Walder , Paul Montague

In theorem prover or SMT solver based verification, the program to be verified is often given in an intermediate verification language such as Boogie, Why, or CHC. This setting raises new challenges. We investigate a preprocessing step…

Software Engineering · Computer Science 2019-01-08 Daniel Dietsch , Matthias Heizmann , Jochen Hoenicke , Alexander Nutz , Andreas Podelski

We present Integer Linear Programming (ILP) Modulo Theories (IMT). An IMT instance is an Integer Linear Programming instance, where some symbols have interpretations in background theories. In previous work, the IMT approach has been…

Logic in Computer Science · Computer Science 2013-04-09 Panagiotis Manolios , Vasilis Papavasileiou

Runtime enforcement is an increasingly popular and effective dynamic validation technique aiming to ensure the correct runtime behavior (w.r.t. a formal specification) of systems using a so-called enforcement monitor. In this paper we…

Software Engineering · Computer Science 2014-06-24 Hadil Charafeddine , Khalil El-Harake , Yliès Falcone , Mohamad Jaber

Context-Oriented Programming (COP) is a programming paradigm to encourage modularization of context-dependent software. Key features of COP are layers---modules to describe context-dependent behavioral variations of a software system---and…

Programming Languages · Computer Science 2019-09-04 Hiroaki Inoue , Atsushi Igarashi

Software development is an iterative process which includes a set of development steps that transform the initial high level specification of the system into its final, fully specified, implementation. This report discusses the theoretical…

Formal Languages and Automata Theory · Computer Science 2016-09-05 Claudio Menghi , Paola Spoletini , Carlo Ghezzi

In all software development projects, engineers face the challenge of translating the requirements layer into a design layer, then into an implementation-code layer, and then validating the correctness of the result. Many methodologies,…

Software Engineering · Computer Science 2020-10-08 David Harel , Rami Marelly , Assaf Marron , Smadar Szekely

Answer Set Programming (ASP) is an important logic programming paradigm within the field of Knowledge Representation and Reasoning. As a concise, human-readable, declarative language, ASP is an excellent tool for developing trustworthy…

Logic in Computer Science · Computer Science 2025-02-14 Zachary Hansen

Software verification has emerged as a key concern for ensuring the continued progress of information technology. Full verification generally requires, as a crucial step, equipping each loop with a "loop invariant". Beyond their role in…

Software Engineering · Computer Science 2014-01-14 Carlo A. Furia , Bertrand Meyer , Sergey Velder

The growing complexity and diversity of models used in the engineering of dependable systems implies that a variety of formal methods, across differing abstractions, paradigms, and presentations, must be integrated. Such an integration…

Logic in Computer Science · Computer Science 2020-07-28 Simon Foster , James Baxter , Ana Cavalcanti , Jim Woodcock , Frank Zeyda

We demonstrate that traits are a natural way to support correctness-by-construction (CbC) in an existing programming language in the presence of traditional post-hoc verification (PhV). With Correctness-by-Construction, programs are…

Programming Languages · Computer Science 2022-04-13 Tobias Runge , Alex Potanin , Thomas Thüm , Ina Schaefer

Correctness-by-Construction (CbC) is an incremental program construction process to construct functionally correct programs. The programs are constructed stepwise along with a specification that is inherently guaranteed to be satisfied. CbC…

Logic in Computer Science · Computer Science 2024-02-14 Tobias Runge , Tabea Bordis , Alex Potanin , Thomas Thüm , Ina Schaefer