English
Related papers

Related papers: Relational Verification via Invariant-Guided Synch…

200 papers

Verifying partial (i.e., termination-insensitive) equivalence of programs has significant practical applications in software development and education. Conventional equivalence verifiers typically rely on a combination of given relational…

Programming Languages · Computer Science 2017-05-10 Qi Zhou , David Heath , William Harris

Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much…

Relational properties arise in many settings: relating two versions of a program that use different data representations, noninterference properties for security, etc. The main ingredient of relational verification, relating aligned pairs…

Logic in Computer Science · Computer Science 2016-11-29 Anindya Banerjee , David A. Naumann , Mohammad Nikouei

Deductive verification typically relies on function contracts that specify the behavior of each function for a single function call. Relational properties link several function calls together within a single specification. They can express…

Software Engineering · Computer Science 2024-01-17 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall

The use of function contracts to specify the behavior of functions often remains limited to the scope of a single function call. Relational properties link several function calls together within a single specification. They can express more…

Software Engineering · Computer Science 2022-05-18 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall

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 addresses the problem of verifying equivalence between a pair of programs that operate over databases with different schemas. This problem is particularly important in the context of web applications, which typically undergo…

Logic in Computer Science · Computer Science 2017-10-24 Yuepeng Wang , Isil Dillig , Shuvendu K. Lahiri , William R. Cook

The automatic verification of programs that maintain unbounded low-level data structures is a critical and open problem. Analyzers and verifiers developed in previous work can synthesize invariants that only describe data structures of…

Programming Languages · Computer Science 2017-10-11 Caleb Voss , David Heath , William Harris

Verifying relations between programs arises as a task in various verification contexts such as optimizing transformations, relating new versions of programs with older versions (regression verification), and noninterference. However,…

Programming Languages · Computer Science 2023-03-28 Ramana Nagasamudram , Anindya Banerjee , David A. Naumann

Many interesting program properties involve the execution of multiple programs, including observational equivalence, noninterference, co-termination, monotonicity, and idempotency. One strategy for verifying such relational properties is to…

Programming Languages · Computer Science 2025-03-13 Robert Dickerson , Prasita Mukherjee , Benjamin Delaware

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-30 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

Multithreaded programs generally leverage efficient and thread-safe concurrent objects like sets, key-value maps, and queues. While some concurrent-object operations are designed to behave atomically, each witnessing the atomic effects of…

Logic in Computer Science · Computer Science 2019-11-06 Siddharth Krishna , Michael Emmi , Constantin Enea , Dejan Jovanovic

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

We present a logical framework for the verification of relational properties in imperative programs. Our work is motivated by relational properties which come from security applications and often require reasoning about formulas with…

Logic in Computer Science · Computer Science 2019-08-13 Gilles Barthe , Renate Eilers , Pamina Georgiou , Bernhard Gleiss , Laura Kovacs , Matteo Maffei

A wide range of interesting program properties are intrinsically relational, i.e., they relate two or more program traces. Two prominent relational properties are secure information flow and conditional program equivalence. By showing the…

Logic in Computer Science · Computer Science 2019-10-22 Alexander Weigl , Mattias Ulbrich , Suhyun Cha , Bernhard Beckert , Birgit Vogel-Heuser

Function contracts are a well-established way of formally specifying the intended behavior of a function. However, they usually only describe what should happen during a single call. Relational properties, on the other hand, link several…

Software Engineering · Computer Science 2018-05-09 Lionel Blatter , Nikolai Kosmatov , Pascale Le Gall , Virgile Prevosto , Guillaume Petiot

Self-composition provides a powerful theoretical approach to prove relational properties, i.e. properties relating several program executions, that has been applied to compare two runs of one or similar programs (in secure dataflow…

Software Engineering · Computer Science 2017-02-07 Lionel Blatter , Nikolai Kosmatov , Pascale Le Gall , Virgile Prevosto

Synthesizing relational data has started to receive more attention from researchers, practitioners, and industry. The task is more difficult than synthesizing a single table due to the added complexity of relationships between tables. For…

Databases · Computer Science 2024-10-07 Valter Hudovernik , Martin Jurkovič , Erik Štrumbelj

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub

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
‹ Prev 1 2 3 10 Next ›