English
Related papers

Related papers: Correctness Witnesses with Function Contracts

200 papers

Specifications for modular program verifiers are expressed as constraints on program states (e.g. preconditions) and relations on program states (e.g. postconditions). For programs whose domain is managing resources of any kind (e.g.…

Programming Languages · Computer Science 2024-04-19 Zachary Grannan , Alexander J. Summers

With the progress in deductive program verification research, new tools and techniques have become available to support design-by-contract reasoning about non-trivial programs written in widely-used programming languages. However, deductive…

Programming Languages · Computer Science 2021-07-14 Marieke Huisman , Raúl E. Monti

Stipula is a domain-specific programming language designed to model legal contracts with enforceable properties, especially those involving asset transfers and obligations. This paper presents a methodology to formally verify the…

Software Engineering · Computer Science 2025-09-29 Reiner Hähnle , Cosimo Laneve , Adele Veschetti

When blockchain systems are said to be trustless, what this really means is that all the trust is put into software. Thus, there are strong incentives to ensure blockchain software is correct -- vulnerabilities here cost millions and break…

Software Engineering · Computer Science 2025-10-20 Jan Corazza , Ivan Gavran , Gabriela Moreira , Daniel Neider

Software model checking constitutes an undecidable problem and, as such, even an ideal tool will in some cases fail to give a conclusive answer. In practice, software model checkers fail often and usually do not provide any information on…

Software Engineering · Computer Science 2017-08-21 Rodrigo Castaño , Victor Braberman , Diego Garbervetsky , Sebastian Uchitel

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

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

Smart contracts are an attractive target for attackers, as evidenced by a long history of security incidents. A current limitation of smart contract verification tools is that they are not really effective in expressing and verifying…

Cryptography and Security · Computer Science 2025-11-18 Massimo Bartoletti , Angelo Ferrando , Enrico Lipparini , Vadim Malvone

This vision paper articulates a long-term research agenda for formal methods at the intersection with artificial intelligence, outlining multiple conceptual and technical dimensions and reporting on our ongoing work toward realising this…

Software Engineering · Computer Science 2026-02-04 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Existing techniques of Design by Contract do not allow software developers to specify complete contracts in many cases. Incomplete contracts leave room for malicious implementations. This article complements Design by Contract with a simple…

Software Engineering · Computer Science 2016-02-15 Alexandr Naumchev , Bertrand Meyer

A recent case study from AWS by Chong et al. proposes an effective methodology for Bounded Model Checking in industry. In this paper, we report on a follow up case study that explores the methodology from the perspective of three research…

Software Engineering · Computer Science 2021-07-05 Siddharth Priya , Xiang Zhou , Yusen Su , Yakir Vizel , Yuyan Bao , Arie Gurfinkel

Context: Smart contract vulnerabilities pose significant security risks for the Ethereum ecosystem, driving the development of automated tools for detection and mitigation. Smart contracts are written in Solidity, a programming language…

Software Engineering · Computer Science 2025-04-09 Gerardo Iuliano , Davide Corradini , Michele Pasqua , Mariano Ceccato , Dario Di Nucci

Ensuring the correct functionality of systems software, given its safety-critical and low-level nature, is a primary focus in formal verification research and applications. Despite advances in verification tooling, conventional programmers…

Programming Languages · Computer Science 2025-04-04 Yiyuan Cao , Jiayi Zhuang , Houjin Chen , Jinkai Fan , Wenbo Xu , Zhiyi Wang , Di Wang , Qinxiang Cao , Yingfei Xiong , Haiyan Zhao , Zhenjiang Hu

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

Solidity smart contracts are programs that manage up to 2^160 users on a blockchain. Verifying a smart contract relative to all users is intractable due to state explosion. Existing solutions either restrict the number of users to…

Software Engineering · Computer Science 2021-09-02 Scott Wesley , Maria Christakis , Jorge A. Navas , Richard Trefler , Valentin Wüstholz , Arie Gurfinkel

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. Our approach is sound and relatively complete with respect to a first-order solver…

Programming Languages · Computer Science 2016-03-22 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Formal methods have been employed for requirements verification for a long time. However, it is difficult to automatically derive properties from natural language requirements. SpecVerify addresses this challenge by integrating large…

Software Engineering · Computer Science 2025-07-08 Weiqi Wang , Marie Farrell , Lucas C. Cordeiro , Liping Zhao

The breakneck evolution of modern programming languages aggravates the development of deductive verification tools, which struggle to timely and fully support all new language features. To address this challenge, we present ByteBack: a…

Programming Languages · Computer Science 2024-10-03 Marco Paganoni , Carlo A. Furia

We review state-of-the-art formal methods applied to the emerging field of the verification of machine learning systems. Formal methods can provide rigorous correctness guarantees on hardware and software systems. Thanks to the availability…

Programming Languages · Computer Science 2021-04-22 Caterina Urban , Antoine Miné

Robotics and Autonomous Systems are increasingly deployed in safety-critical domains, so that demonstrating their safety is essential. Assurance Cases (ACs) provide structured arguments supported by evidence, but generating and maintaining…

Software Engineering · Computer Science 2026-02-04 Fang Yan , Simon Foster , Ana Cavalcanti , Ibrahim Habli , James Baxter
‹ Prev 1 3 4 5 6 7 10 Next ›