English
Related papers

Related papers: Towards Deriving Verification Properties

200 papers

The validation of modern software systems incorporates both functional and quality requirements. This paper proposes a validation approach for software quality requirement - its power consumption. This approach validates whether the…

Software Engineering · Computer Science 2007-05-23 Raimondas Lencevicius , Edu Metz , Alexander Ran

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Software testing is the process of testing the functionality and correctness of software by running…

Software Engineering · Computer Science 2010-01-26 S. S. Riaz Ahamed

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

Software Engineering · Computer Science 2014-06-12 Gudmund Grov

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

We explore the following question: Is a decision-making program fair, for some useful definition of fairness? First, we describe how several algorithmic fairness questions can be phrased as program verification problems. Second, we discuss…

Programming Languages · Computer Science 2016-10-20 Aws Albarghouthi , Loris D'Antoni , Samuel Drews , Aditya Nori

In this chapter we outline the role that software has in modern society, along with the staggering costs of poor software quality. To lay this bare, we recall the costs of some of the major software failures that happened during the last 40…

Software Engineering · Computer Science 2026-01-30 Giovanni Bernardi , Adrian Francalanza , Marco Peressotti , Mohammad Reza Mousavi

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal claim, which may…

Programming Languages · Computer Science 2022-05-17 Colin S. Gordon , Sergey Matskevich

Software model checking has experienced significant progress in the last two decades, however, one of its major bottlenecks for practical applications remains its scalability and adaptability. Here, we describe an approach to integrate…

Software Engineering · Computer Science 2019-07-19 Felipe R. Monteiro , Mikhail R. Gadelha , Lucas C. Cordeiro

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

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

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…

This paper is a tutorial for newcomers to the field of automated verification tools, though we assume the reader to be relatively familiar with Hoare-style verification. In this paper, besides introducing the most basic features of the…

Software Engineering · Computer Science 2017-01-18 Paqui Lucio

These notes present some extensions of a formal method introduced in an earlier paper. The formal method is designed as a tool for program verification of numerical computation and forms the basis of the software package VPC. Included in…

Logic in Computer Science · Computer Science 2014-11-21 Garry Pantelis

This paper describes the formal verification of two Turing machines using the program verifier Dafny. Both machines are deciders, so we prove total correctness. They are typical first examples of Turing machines used in any course of…

Logic in Computer Science · Computer Science 2026-01-22 Edgar F. A. Lederer

As software becomes more complex and assumes an even greater role in our lives, formal verification is set to become the gold standard in securing software systems into the future, since it can guarantee the absence of errors and entire…

Human-Computer Interaction · Computer Science 2021-11-17 Carolina Carreira , João F. Ferreira , Alexandra Mendes , Nicolas Christin

The current verification flow of complex systems uses different engines synergistically: virtual prototyping, formal verification, simulation, emulation and FPGA prototyping. However, none is able to verify a complete architecture.…

Logic in Computer Science · Computer Science 2018-02-12 Tomas Grimm , Djones Lettnin , Michael Hübner

We introduce a model of probabilistic verification in mechanism design. The principal elicits a message from the agent and then selects a test to give the agent. The agent's true type determines the probability with which he can pass each…

Theoretical Economics · Economics 2025-01-16 Ian Ball , Deniz Kattwinkel

Formal verification has recently been increasingly used to prove the correctness and security of many applications. It is attractive because it can prove the absence of errors with the same certainty as mathematicians proving theorems.…

Cryptography and Security · Computer Science 2025-09-09 Carolina Carreira , João F. Ferreira , Alexandra Mendes , Nicolas Christin

Formal verification is at the heart of model validation and correctness. With model checking, invaluable realizations have been accomplished in software engineering and particularly in software development. By means of this approach,…

Software Engineering · Computer Science 2023-08-02 Patrick Mukala

System integration testing is the process of testing a system by the stepwise integration of sub-components. Usually these sub-components are already verified to guarantee their correct functional behavior. By integration of these verified…

Software Engineering · Computer Science 2014-04-29 Susanne Kandl , Martin Elshuber