English
Related papers

Related papers: Resource Specifications for Resource-Manipulating …

200 papers

Commutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of…

Programming Languages · Computer Science 2023-11-07 Azadeh Farzan , Dominik Klumpp , Andreas Podelski

A growing trend in program analysis is to encode verification conditions within the language of the input program. This simplifies the design of analysis tools by utilizing off-the-shelf verifiers, but makes communication with the…

Software Engineering · Computer Science 2024-07-12 Scott Wesley , Maria Christakis , Jorge A. Navas , Richard Trefler , Valentin Wüstholz , Arie Gurfinkel

Blockchains are modern distributed systems that provide decentralized financial capabilities with trustable guarantees. Smart contracts are programs written in specialized programming languages running on a blockchain and govern how tokens…

Cryptography and Security · Computer Science 2022-07-11 Margarita Capretto , Martin Ceresa , Cesar Sanchez

Predicate subtypes provide an attractive mechanism to specify range constraints on variable declarations. This paper discusses how we add support for predicate subtypes to the VerCors program verifier. Our approach automatically generates…

Logic in Computer Science · Computer Science 2026-04-09 Tycho Dubbeling , Marieke Huisman , Ömer Şakar

Solidity is the dominant programming language for Ethereum smart contracts. This paper presents a high-level formalization of the Solidity language with a focus on the memory model. The presented formalization covers all features of the…

Programming Languages · Computer Science 2020-04-20 Ákos Hajdu , Dejan Jovanović

This paper studies how to verify the conformity of a program with its specification and proposes a novel constraint-programming framework for bounded program verification (CPBPV). The CPBPV framework uses constraint stores to represent the…

Software Engineering · Computer Science 2008-07-16 Hélène Collavizza , Michel Rueher , Pascal Van Hentenryck

A number of formal methods exist for capturing stimulus-response requirements in a declarative form. Someone yet needs to translate the resulting declarative statements into imperative programs. The present article describes a method for…

Software Engineering · Computer Science 2017-04-18 Alexandr Naumchev , Manuel Mazzara , Bertrand Meyer , Jean-Michel Bruel , Florian Galinier , Sophie Ebersold

Contracts specifying a procedure's behavior in terms of pre- and postconditions are essential for scalable software verification, but cannot express any constraints on the events occurring during execution of the procedure. This…

Software Engineering · Computer Science 2022-11-22 Richard Bubel , Dilian Gurov , Reiner Hähnle , Marco Scaletta

Blockchains are maintained by a network of participants that run algorithms designed to maintain collectively a distributed machine tolerant to Byzantine attacks. From the point of view of users, blockchains provide the illusion of…

Logic in Computer Science · Computer Science 2022-07-15 Martán Ceresa , César Sánchez

We introduce a framework for reasoning about the security of computer systems using modal logic. This framework is sufficiently expressive to capture a variety of known security properties, while also being intuitive and independent of…

Cryptography and Security · Computer Science 2023-09-19 Matvey Soloviev , Musard Balliu , Roberto Guanciale

Formal software specification is known to enable early error detection and explicit invariants, yet it has seen limited industrial adoption due to its high notation overhead and the expertise required to use traditional formal languages.…

Software Engineering · Computer Science 2026-01-16 Antonio Abu Nassar , Eitan Farchi

Writing specifications for computer programs is not easy since one has to take into account the disparate conceptual worlds of the application domain and of software development. To bridge this conceptual gap we propose controlled natural…

cmp-lg · Computer Science 2008-02-03 Norbert E. Fuchs , Rolf Schwitter

Software verification witnesses are a common exchange format for software verification tools. They were developed to provide arguments supporting the verification result, allowing other tools to reproduce the verification results.…

Programming Languages · Computer Science 2025-01-22 Matthias Heizmann , Dominik Klumpp , Marian Lingsch-Rosenfeld , Frank Schüssele

Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and to express properties of arrays. SMT-based verifiers typically reason about them via…

Programming Languages · Computer Science 2021-12-15 Alexandra Bugariu , Arshavir Ter-Gabrielyan , Peter Müller

In this contribution we revisit regular model checking, a powerful framework that has been successfully applied for the verification of infinite-state systems, especially parameterized systems (concurrent systems with an arbitrary number of…

Logic in Computer Science · Computer Science 2021-11-23 Anthony W. Lin , Philipp Rümmer

Reliability and fault tolerance are critical attributes of embedded cyber-physical systems that require a high safety-integrity level. For such systems, the use of formal functional safety specifications has been strongly advocated in most…

Systems and Control · Electrical Eng. & Systems 2020-05-05 Ginju V. George , Aritra Hazra , Pallab Dasgupta , Partha Pratim Chakrabarti

We argue that verification of recursive programs by means of the assertional method of C.A.R. Hoare can be conceptually simplified using a modular reasoning. In this approach some properties of the program are established first and…

Logic in Computer Science · Computer Science 2009-07-27 Krzysztof R. Apt , Frank S. de Boer , Ernst-Rüdiger Olderog

Gradual verification soundly combines static checking and dynamic checking to provide an incremental approach for software verification. With gradual verification, programs can be partially specified first, and then the full specification…

Programming Languages · Computer Science 2025-12-01 Doruk Alp Mutlu

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

The refinement calculus for logic programs is a framework for deriving logic programs from specifications. It is based on a wide-spectrum language that can express both specifications and code, and a refinement relation that models the…

Logic in Computer Science · Computer Science 2007-05-23 Robert Colvin , Ian J. Hayes , Paul Strooper