English
Related papers

Related papers: Flexible Refinement Proofs in Separation Logic

200 papers

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

Contextual refinement and separation logics are successful verification techniques that are very different in nature. First, the former guarantees behavioral refinement between a concrete program and an abstract program while the latter…

Programming Languages · Computer Science 2021-09-08 Youngju Song , Minki Cho , Dongjae Lee , Chung-Kil Hur

We propose an abstraction-based model checking method which relies on refinement of an under-approximation of the feasible behaviors of the system under analysis. The method preserves errors to safety properties, since all analyzed…

Computer Science and Game Theory · Computer Science 2017-01-11 Corina S. Pasareanu , Radek Pelanek , Willem Visser

It has been observed that linearizability, the prevalent consistency condition for implementing concurrent objects, does not preserve some probability distributions. A stronger condition, called strong linearizability has been proposed, but…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-30 Hagit Attiya , Constantin Enea

Model-driven design of software for safety-critical applications often relies on mathematically grounded techniques such as the B method. Such techniques consist in the successive applications of refinements to derive a concrete…

Software Engineering · Computer Science 2009-07-14 David Deharbe , Bruno E. G. Gomes , Anamaria M. Moreira

Lighthouse projects such as CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full verification of entire systems is feasible by establishing a refinement relation between an abstract system specification and an executable…

Logic in Computer Science · Computer Science 2020-10-13 Christoph Sprenger , Tobias Klenze , Marco Eilers , Felix A. Wolf , Peter Müller , Martin Clochard , David Basin

We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses…

Programming Languages · Computer Science 2019-07-16 Niki Vazou , Anish Tondwalkar , Vikraman Choudhury , Ryan G. Scott , Ryan R. Newton , Philip Wadler , Ranjit Jhala

Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. We present a system of refinement types for LF in the style of recent formulations where only canonical…

Programming Languages · Computer Science 2015-07-01 William Lovas , Frank Pfenning

Linearisability has become the standard safety criterion for concurrent data structures ensuring that the effect of a concrete operation takes place after the execution some atomic statement (often referred to as the linearisation point).…

Logic in Computer Science · Computer Science 2012-12-21 Brijesh Dongol , John Derrick

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

The CEGAR loop in software model checking notoriously diverges when the abstraction refinement procedure does not derive a loop invariant. An abstraction refinement procedure based on an SMT solver is applied to a trace, i.e., a restricted…

Logic in Computer Science · Computer Science 2017-02-09 Marius Greitschus , Daniel Dietsch , Andreas Podelski

Stepwise refinement of algebraic specifications is a well known formal methodology for program development. However, traditional notions of refinement based on signature morphisms are often too rigid to capture a number of relevant…

Logic in Computer Science · Computer Science 2015-07-01 Manuel A. Martins , Alexandre Madeira , Luis S. Barbosa

This dissertation introduces executable refinement types, which refine structural types by semi-decidable predicates, and establishes their metatheory and accompanying implementation techniques. These results are useful for undecidable type…

Programming Languages · Computer Science 2014-03-14 Kenneth Knowles

Refinement types enable lightweight verification of functional programs. Algorithms for statically inferring refinement types typically work by reduction to solving systems of constrained Horn clauses extracted from typing derivations. An…

Programming Languages · Computer Science 2020-11-11 Zvonimir Pavlinovic , Yusen Su , Thomas Wies

Formal verification via theorem proving enables the expressive specification and rigorous proof of software correctness, but it is difficult to scale due to the significant manual effort and expertise required. While Large Language Models…

Software Engineering · Computer Science 2025-10-30 Minghai Lu , Zhe Zhou , Danning Xie , Songlin Jia , Benjamin Delaware , Tianyi Zhang

Refinement Reflection turns your favorite programming language into a proof assistant by reflecting the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses of the function, the…

Programming Languages · Computer Science 2016-10-18 Niki Vazou , Ranjit Jhala

We present Executable Abstract Programs and analyse their role for software development and documentation. The intuitive understanding of these programs fits the computational mindset of software system engineers and is supported by a…

Software Engineering · Computer Science 2022-09-15 Egon Boerger

This thesis introduces the "method of structural refinement", which serves as a means of transforming the relational semantics of a modal and/or constructive logic into an 'economical' proof system by connecting two proof-theoretic…

Logic in Computer Science · Computer Science 2021-08-02 Tim Lyon

Precisely modeling complex systems like cyber-physical systems is challenging, which often render model-based system verification techniques like model checking infeasible. To overcome this challenge, we propose a method called LAR to…

Software Engineering · Computer Science 2019-11-21 Jingyi Wang , Jun Sun , Shengchao Qin , Cyrille Jegourel
‹ Prev 1 2 3 10 Next ›