English
Related papers

Related papers: Soft Contract Verification for Higher-Order Statef…

200 papers

Modern automotive software is highly complex and consists of millions lines of code. For safety-relevant automotive software, it is recommended to use sound static program analysis to prove the absence of runtime errors. However, the…

Software Engineering · Computer Science 2023-10-26 Jesko Hecking-Harbusch , Jochen Quante , Maximilian Schlund

Rule-based policy and contract systems have rarely been studied in terms of their software engineering properties. This is a serious omission, because in rule-based policy or contract representation languages rules are being used as a…

Artificial Intelligence · Computer Science 2007-05-23 Adrian Paschke

The exploitation of smart-contract vulnerabilities can have catastrophic consequences such as the loss of millions of pounds worth of crypto assets. Formal verification can be a useful tool in identifying vulnerabilities and proving that…

Programming Languages · Computer Science 2020-02-10 Pedro Antonino , A. W. Roscoe

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

Writing concurrent programs is a hard task, even when using high-level synchronization primitives such as transactional memories together with a functional language with well-controlled side-effects such as Haskell, because the…

Logic in Computer Science · Computer Science 2013-12-11 Romain Demeyer , Wim Vanhoof

Smart contracts manage a large number of digital assets nowadays. Bugs in these contracts have led to significant financial loss. Verifying the correctness of smart contracts is, therefore, an important task. This paper presents an…

Software Engineering · Computer Science 2023-08-03 Haoxian Chen , Lan Lu , Brendan Massey , Yuepeng Wang , Boon Thau Loo

Business contracts, particularly sale and purchase agreements, often contain a large number of clauses and are correspondingly long and complex. In practice, it is therefore a great challenge to keep track of their legal context and to…

Logic in Computer Science · Computer Science 2025-04-28 Alan Khoja , Martin Kölbl , Stefan Leue , Rüdiger Wilhelmi

Smart contracts enable contract terms to be automatically executed and verified on the blockchain, and recent years have witnessed numerous applications of them in areas such as financial institutions and supply chains. The execution logic…

Software Engineering · Computer Science 2025-12-16 Lantian Li , Yuyu Chen , Jingwen Wu , Yue Pan , Zhongxing Yu

The security of smart contracts, which are an important part of blockchain technology, has attracted much attention. In particular, reentrancy vulnerability, which is hidden and complex, poses a great threat to smart contracts. In order to…

Cryptography and Security · Computer Science 2023-12-27 Chang Chu

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

With a market capitalisation of over USD 205 billion in just under ten years, public distributed ledgers have experienced significant adoption. Apart from novel consensus mechanisms, their success is also accountable to smart contracts.…

Cryptography and Security · Computer Science 2018-11-02 Dominik Harz , William Knottenbelt

Rust is a modern systems programming language whose type system guarantees memory safety. For the sake of expressivity and performance it allows programmers to relax typing rules temporarily, using unsafe code blocks. However, in unsafe…

Logic in Computer Science · Computer Science 2022-12-27 Nima Rahimi Foroushaani , Bart Jacobs

Blockchains facilitate secure resource transactions through smart contracts, yet these digital agreements are prone to vulnerabilities, particularly when interacting with external contracts, leading to substantial monetary losses.…

Cryptography and Security · Computer Science 2024-07-04 Haojia Sun , Kunal Singh , Jan-Paul Ramos-Dávila , Jonathan Aldrich , Jenna DiVincenzo

We present a manifest contract system PCFv$\Delta$H with intersection types. A manifest contract system is a typed functional calculus in which software contracts are integrated into a refinement type system and consistency of contracts is…

Programming Languages · Computer Science 2019-09-06 Yuki Nishida , Atsushi Igarashi

Modern out-of-order processors face speculative execution attacks. Despite various proposed software and hardware mitigations to prevent such attacks, new attacks keep arising from unknown vulnerabilities. Thus, a formal and rigorous…

Hardware Architecture · Computer Science 2024-07-18 Qinhan Tan , Yuheng Yang , Thomas Bourgeat , Sharad Malik , Mengjia Yan

This paper discusses preliminary investigations on the monitorability of contracts for web service descriptions. There are settings where servers do not guarantee statically whether they satisfy some specified contract, which forces the…

Logic in Computer Science · Computer Science 2016-06-03 Annalizz Vella , Adrian Francalanza

Smart contracts are programs stored on a blockchain that run when predetermined conditions are met. However, designing and implementing a smart contract is not trivial since upon deployment on a blockchain, it is no longer possible to…

Software Engineering · Computer Science 2021-12-08 Chaïmaa Benabbou , Önder Gürcan

Scalable and automatic formal verification for concurrent systems is always demanding. In this paper, we propose a verification framework to support automated compositional reasoning for concurrent programs with shared variables. Our…

Formal Languages and Automata Theory · Computer Science 2018-03-28 Fuyuan Zhang , Yongwang Zhao , David Sanan , Yang Liu , Alwen Tiu , Shang-Wei Lin , Jun Sun

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

In many practical application domains, the software is organized into a set of threads, whose activation is exclusive and controlled by a cooperative scheduling policy: threads execute, without any interruption, until they either terminate…

Logic in Computer Science · Computer Science 2015-07-01 Alessandro Cimatti , Iman Narasamdya , Marco Roveri