English
Related papers

Related papers: On Verifying Resource Contracts using Code Contrac…

200 papers

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

Smart Contracts use computer technology to automate the performance of aspects of commercial agreements. Yet how can there be confidence that the computer code is faithful to the intentions of the parties? To understand the depth and…

Computation and Language · Computer Science 2021-04-09 Christopher D. Clack

We consider formal verification of recursive programs with resource consumption. We introduce prefix replacement systems with non-negative integer counters which can be incremented and reset to zero as a formal model for such programs. In…

Logic in Computer Science · Computer Science 2015-07-01 Martin Lang , Christof Löding

Smart contracts are computer programs running on blockchains to implement Decentralized Applications. The absence of contract specifications hinders routine tasks, such as contract understanding and testing. In this work, we propose a…

Software Engineering · Computer Science 2025-04-30 Ye Liu , Yixuan Liu , Yi Li , Cyrille Artho

We consider the problem of verification modulo tested library contracts as a step towards automating the verification of client programs that use complex libraries. We formulate this problem as the synthesis of modular contracts for the…

Programming Languages · Computer Science 2026-05-11 Abhishek Uppar , Omar Muhammad , Sumanth Prabhu , Deepak D'Souza , Madhusudan P , Adithya Murali

Smart contracts are tools with self-execution capabilities that provide enhanced security compared to traditional contracts; however, their immutability makes post-deployment fault correction extremely complex, highlighting the need for a…

Cryptography and Security · Computer Science 2026-01-22 Murilo de Souza Neves , Adilson Luiz Bonifacio

Deductive verification of concurrent programs under weak memory has thus far been limited to simple programs over a monolithic state space. For scalabiility, we also require modular techniques with verifiable library abstractions. This…

Programming Languages · Computer Science 2020-12-29 Sadegh Dalvandi , Brijesh Dongol

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

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

We propose a novel framework for off-chain execution and verification of computationally-intensive smart contracts. Our framework is the first solution that avoids duplication of computing effort across multiple contractors, does not…

Cryptography and Security · Computer Science 2021-04-27 Emrah Sariboz , Kartick Kolachala , Gaurav Panwar , Roopa Vishwanathan , Satyajayant Misra

End-to-End Translation Validation is the problem of verifying the executable code generated by a compiler against the corresponding input source code for a single compilation. This becomes particularly hard in the presence of…

Programming Languages · Computer Science 2025-10-01 Abhishek Rose , Sorav Bansal

Efficient allocation of finite resources is a crucial problem in a wide variety of on-demand smart city applications. Service requests often appear randomly over time and space with varying intensity. Resource provisioning decisions need to…

Systems and Control · Electrical Eng. & Systems 2024-12-20 Muhammad Junaid Farooq , Quanyan Zhu

The use of annotations, referred to as assertions or contracts, to describe program properties for which run-time tests are to be generated, has become frequent in dynamic programing languages. However, the frameworks proposed to support…

Programming Languages · Computer Science 2020-02-19 Nataliia Stulova , José F. Morales , Manuel V. Hermenegildo

Our aim is to statically verify that in a given reactive program, the length of collection variables does not grow beyond a given bound. We propose a scalable type-based technique that checks that each collection variable has a given…

Programming Languages · Computer Science 2019-01-29 Tianhan Lu , Pavol Cerny , Bor-Yuh Evan Chang , Ashutosh Trivedi

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

Our scientific knowledge is increasingly built on software output. User code which defines data analysis pipelines and computational models is essential for research in the natural and social sciences, but little is known about how to…

Software Engineering · Computer Science 2020-03-16 Maxwell Shinn

Static analysis of smart-contracts is becoming more widespread on blockchain platforms. Analyzers rely on techniques like symbolic execution or model checking, but few of them can provide strong soundness properties and guarantee the…

Cryptography and Security · Computer Science 2022-10-12 Guillaume Bau , Antoine Miné , Vincent Botbol , Mehdi Bouaziz

During its lifetime, a program suffers several changes that seek to improve or to augment some parts of its functionality. However, these modifications usually also introduce errors that affect the already-working code. There are several…

Programming Languages · Computer Science 2019-02-06 Lars-Åke Fredlund , Julio Mariño , Sergio Pérez , Salvador Tamarit

This paper presents DeCon, a declarative programming language for implementing smart contracts and specifying contract-level properties. Driven by the observation that smart contract operations and contract-level properties can be naturally…

Software Engineering · Computer Science 2022-07-29 Haoxian Chen , Gerald Whitters , Mohammad Javad Amiri , Yuepeng Wang , Boon Thau Loo

Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and…

Software Engineering · Computer Science 2023-07-20 Eman Abdullah AlOmar , Salma Abdullah AlOmar , Mohamed Wiem Mkaouer