English
Related papers

Related papers: Resource Specifications for Resource-Manipulating …

200 papers

Contextual refinement (CR) is one of the standard notions of specifying open programs. CR has two main advantages: (i) (horizontal and vertical) compositionality that allows us to decompose a large contextual refinement into many smaller…

Programming Languages · Computer Science 2022-03-16 Youngju Song , Minki Cho , Dongjae Lee , Chung-Kil Hur

We present solc-verify, a source-level verification tool for Ethereum smart contracts. Solc-verify takes smart contracts written in Solidity and discharges verification conditions using modular program analysis and SMT solvers. Built on top…

Programming Languages · Computer Science 2020-03-17 Ákos Hajdu , Dejan Jovanović

Formal specifications, such as pre- and post-conditions provide a solid basis for performing thorough program verification. However, developers rarely provide such formal specifications, hence if AI could help in constructing them, it would…

Software Engineering · Computer Science 2026-03-19 I. S. W. B. Prasetya , Fitsum Kifetew , Davide Prandi

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

Programming Languages · Computer Science 2017-05-22 Alexei P. Lisitsa , Andrei P. Nemytykh

Verification of higher-order probabilistic programs is a challenging problem. We present a verification method that supports several quantitative properties of higher-order probabilistic programs. Usually, extending verification methods to…

Logic in Computer Science · Computer Science 2024-07-04 Satoshi Kura , Hiroshi Unno

We present a method for verifying partial correctness properties of imperative programs that manipulate integers and arrays by using techniques based on the transformation of constraint logic programs (CLP). We use CLP as a metalanguage for…

Programming Languages · Computer Science 2013-09-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

Behavioral software contracts are a widely used mechanism for governing the flow of values between components. However, run-time monitoring and enforcement of contracts imposes significant overhead and delays discovery of faulty components…

Programming Languages · Computer Science 2014-06-17 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

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 2023-10-09 Colin S. Gordon , Sergey Matskevich

This paper is an example-based demonstration of our initial results on the formal specification of programs written in the computer algebra language MiniMaple (a substantial subset of Maple with slight extensions). The main goal of this…

Mathematical Software · Computer Science 2012-07-11 Muhammad Taimoor Khan , Wolfgang Schreiner

The usual advantages put forward for including nullability declarations in the type systems of programming languages are that they improve program reliability or performance. But there is another, entirely different, reason for doing so. In…

Programming Languages · Computer Science 2011-08-25 William Harrison , Tim Walsh , Paul Biggar

In this paper, we present a Hoare-style logic for reasoning about quantum programs with classical variables. Our approach offers several improvements over previous work: (1) Enhanced expressivity of the programming language: Our logic…

Programming Languages · Computer Science 2026-04-21 Mingsheng Ying

Reusable software components need expressive specifications. This paper outlines a rigorous foundation to model-based contracts, a method to equip classes with strong contracts that support accurate design, implementation, and formal…

Software Engineering · Computer Science 2013-08-14 Nadia Polikarpova , Carlo A. Furia , Bertrand Meyer

Large language models possess impressive capabilities in generating programs (e.g., Python) from natural language descriptions to execute robotic tasks. However, these generated programs often contain errors that violate externally given…

Artificial Intelligence · Computer Science 2025-11-10 Yunhao Yang , Neel P. Bhatt , William Ward , Zichao Hu , Joydeep Biswas , Ufuk Topcu

Precondition inference is a non-trivial task with several applications in program analysis and verification. We present a novel iterative method for automatically deriving sufficient preconditions for safety and unsafety of programs which…

Logic in Computer Science · Computer Science 2018-11-19 Bishoksan Kafle , Graeme Gange , Peter Schachte , Harald Sondergaard , Peter J. Stuckey

Ensuring that autonomous space robot control software behaves as it should is crucial, particularly as software failure in space often equates to mission failure and could potentially endanger nearby astronauts and costly equipment. To…

Fully automated verification of large-scale software and hardware systems is arguably the holy grail of formal methods. Large language models (LLMs) have recently demonstrated their potential for enhancing the degree of automation in formal…

Software Engineering · Computer Science 2026-03-11 Zhongyi Wang , Tengjie Lin , Mingshuai Chen , Haokun Li , Mingqi Yang , Xiao Yi , Shengchao Qin , Yixing Luo , Xiaofeng Li , Bin Gu , Liqiang Lu , Jianwei Yin

Techniques for runtime verification often utilise specification languages that are (i) reasonably expressive, and (ii) relatively abstract (i.e. they operate on a level of abstraction that separates them from the system being monitored).…

Logic in Computer Science · Computer Science 2018-06-11 Joshua Heneage Dawes , Giles Reger

Experience with lightweight formal methods suggests that programmers are willing to write specification if it brings tangible benefits to their usual development activities. This paper considers stronger specifications and studies whether…

Software Engineering · Computer Science 2013-08-14 Nadia Polikarpova , Carlo A. Furia , Yu Pei , Yi Wei , Bertrand Meyer

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