English
Related papers

Related papers: Safety Verification and Refutation by k-invariants…

200 papers

Automatic software verification tools help to find hard-to-detect faults in programs checked against specified requirements non-interactively. Besides, they can prove program correctness formally under certain assumptions. These…

Software Engineering · Computer Science 2023-09-29 Ilja Zakharov , Evgeny Novikov , Ilya Shchepetkov

The technology of formal software verification has made spectacular advances, but how much does it actually benefit the development of practical software? Considerable disagreement remains about the practicality of building systems with…

Software Engineering · Computer Science 2026-01-21 Li Huang , Sophie Ebersold , Alexander Kogtenkov , Bertrand Meyer , Yinling Liu

This paper presents a novel approach for augmenting proof-based verification with performance-style analysis of the kind employed in state-of-the-art model checking tools for probabilistic systems. Quantitative safety properties usually…

Logic in Computer Science · Computer Science 2009-12-11 Ukachukwu Ndukwu

Recently, the k-induction algorithm has proven to be a successful approach for both finding bugs and proving correctness. However, since the algorithm is an incremental approach, it might waste resources trying to prove incorrect programs.…

Programming Languages · Computer Science 2018-01-23 Mikhail Y. R. Gadelha , Lucas C. Cordeiro , Denis A. Nicole

While the use of formal verification techniques is well established in the development of mission-critical software, it is still rare in the production of most other kinds of software. We share our experience that a formal verification tool…

Programming Languages · Computer Science 2020-07-03 Dimitur Nikolaev Krustev

In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables. The literature usually presents the unification algorithm as a standalone component, however the need to…

Programming Languages · Computer Science 2016-10-03 Francesco Mazzoli , Andreas Abel

Context: Mining software repositories is a popular means to gain insights into a software project's evolution, monitor project health, support decisions and derive best practices. Tools supporting the mining process are commonly applied by…

Software Engineering · Computer Science 2025-11-13 Nicole Hoess , Carlos Paradis , Rick Kazman , Wolfgang Mauerer

Software verification has recently made enormous progress due to the development of novel verification methods and the speed-up of supporting technologies like SMT solving. To keep software verification tools up to date with these advances,…

Software Engineering · Computer Science 2020-08-12 Jan Haltermann , Heike Wehrheim

Sharing of notations and theories across an inheritance hierarchy of mathematical structures, e.g., groups and rings, is important for productivity when formalizing mathematics in proof assistants. The packed classes methodology is a…

Programming Languages · Computer Science 2020-09-22 Kazuhiko Sakaguchi

The use of deductive techniques, such as theorem provers, has several advantages in safety verification of hybrid sys- tems; however, state-of-the-art theorem provers require ex- tensive manual intervention. Furthermore, there is often a…

Logic in Computer Science · Computer Science 2021-09-08 Nikos Arechiga , James Kapinski , Jyotirmoy Deshmukh , Andre Platzer , Bruce Krogh

Traditional quality assurance (QA) methods face significant challenges in addressing the complexity, scale, and rapid iteration cycles of modern software systems and are strained by limited resources available, leading to substantial costs…

Software Engineering · Computer Science 2025-06-23 Ihor Pysmennyi , Roman Kyslyi , Kyrylo Kleshch

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-02 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

Software verification is a tedious process that involves the analysis of multiple failed verification attempts, and adjustments of the program or specification. This is especially the case for complex requirements, e.g., regarding security…

We introduce a new methodology based on refinement for testing the functional correctness of hardware and low-level software. Our methodology overcomes several major drawbacks of the de facto testing methodologies used in industry: (1) it…

Logic in Computer Science · Computer Science 2017-03-17 Mitesh Jain , Panagiotis Manolios

Mathematical induction is a fundamental tool in computer science and mathematics. Henkin initiated the study of formalization of mathematical induction restricted to the setting when the base case B is set to singleton set containing 0 and…

Logic in Computer Science · Computer Science 2020-08-17 A. Dileep , Kuldeep S. Meel , Ammar F. Sabili

We present a safety verification framework for design-time and run-time assurance of learning-based components in aviation systems. Our proposed framework integrates two novel methodologies. From the design-time assurance perspective, we…

Systems and Control · Electrical Eng. & Systems 2022-05-17 Ali Baheri , Hao Ren , Benjamin Johnson , Pouria Razzaghi , Peng Wei

The development and deployment of safe and dependable AI models is crucial in applications where functional safety is a key concern. Given the rapid advancement in AI research and the relative novelty of the safe-AI domain, there is an…

Software Engineering · Computer Science 2025-03-21 Suzana Veljanovska , Hans Dermot Doran

This tutorial provides an introduction to CPAchecker for users. CPAchecker is a flexible and configurable framework for software verification and testing. The framework provides many abstract domains, such as BDDs, explicit values,…

Formally verifying properties of programs that manipulate arrays in loops is computationally challenging. In this paper, we focus on a useful class of such programs, and present a novel property-driven verification method that first infers…

Software Engineering · Computer Science 2017-10-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Virtual integration techniques focus on building architectural models of systems that can be analyzed early in the design cycle to try to lower cost, reduce risk, and improve quality of complex embedded systems. Given appropriate…

Software Engineering · Computer Science 2015-11-18 Andreas Katis , Andrew Gacek , Michael W. Whalen