Filters








52,564 Hits in 4.5 sec

Higher-Order Symbolic Execution via Contracts [article]

Sam Tobin-Hochstadt, David Van Horn
2012 arXiv   pre-print
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  ...  The result is a executable semantics that soundly predicts program behavior, including contract failures, for all possible instantiations of symbolic components.  ...  We propose abstract reduction semantics as technique for higher-order symbolic execution.  ... 
arXiv:1103.1362v4 fatcat:djr7xj3ozbggvfu74a7qkdq6qu

Higher-order symbolic execution via contracts

Sam Tobin-Hochstadt, David Van Horn
2012 SIGPLAN notices  
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  ...  The result is a executable semantics that soundly predicts program behavior, including contract failures, for all possible instantiations of symbolic components.  ...  We propose abstract reduction semantics as technique for higher-order symbolic execution.  ... 
doi:10.1145/2398857.2384655 fatcat:yvyqxycx7bh75pfavpzubwqff4

Higher-order symbolic execution via contracts

Sam Tobin-Hochstadt, David Van Horn
2012 Proceedings of the ACM international conference on Object oriented programming systems languages and applications - OOPSLA '12  
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  ...  The result is a executable semantics that soundly predicts program behavior, including contract failures, for all possible instantiations of symbolic components.  ...  We propose abstract reduction semantics as technique for higher-order symbolic execution.  ... 
doi:10.1145/2384616.2384655 dblp:conf/oopsla/Tobin-HochstadtH12 fatcat:q76ikttfhzgr7kt6gi36myqrnu

Soft contract verification for higher-order stateful programs

Phúc C. Nguyễn, Thomas Gilray, Sam Tobin-Hochstadt, David Van Horn
2017 Proceedings of the ACM on Programming Languages  
In this paper, we present and evaluate our solution based on higher-order symbolic execution, explain the techniques we used to address such thorny issues, formalize a notion of behavioral approximation  ...  Stateful, higher-order functions pose significant challenges for static contract verification in particular.  ...  In addition, symbolic execution of higher-order 51:4 Phúc C.  ... 
doi:10.1145/3158139 dblp:journals/pacmpl/NguyenGTH18 fatcat:5p4w5rjhxrdgfhgkphzmqt23jq

ConFuzzius: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts [article]

Christof Ferreira Torres, Antonio Ken Iannillo, Arthur Gervais, Radu State
2021 arXiv   pre-print
We evaluate the effectiveness of ConFuzzius by comparing it with state-of-the-art symbolic execution tools and fuzzers for smart contracts.  ...  Most of these tools rely on symbolic execution, which may yield false positives due to over-approximation. Recently, many fuzzers have been proposed to detect bugs in smart contracts.  ...  The deployment of smart contracts as well as the execution of smart contract functions occurs via transactions.  ... 
arXiv:2005.12156v2 fatcat:lonixxwczvfmzmfp4cwnu4pkwa

Size-Change Termination as a Contract [article]

Phuc C. Nguyen, Thomas Gilray, Sam Tobin-Hochstadt, David Van Horn
2018 arXiv   pre-print
The result compliments existing contracts that enforce partial correctness specifications to obtain contracts for total correctness.  ...  We formulate run-time size-change checks as contracts in the style of Findler and Felleisen.  ...  verification via symbolic execution [Nguyễn et al. 2018 [Nguyễn et al. , 2014 .  ... 
arXiv:1808.02101v1 fatcat:uowsryeo7jdgbajc5zhhaxqhoy

Symbolic Execution Game Semantics

Yu-Yang Lin, Nikos Tzevelekos, Zena M. Ariola
2020 International Conference on Formal Structures for Computation and Deduction  
We present a framework for symbolically executing and model checking higher-order programs with external (open) methods.  ...  We combine traditional symbolic execution techniques with operational game semantics to build a symbolic execution semantics that captures arbitrary external behaviour.  ...  Racket contracts exist in a higher-order setting similar to ours, and generalise higher-order pre and post conditions, and thus specify safety.  ... 
doi:10.4230/lipics.fscd.2020.27 dblp:conf/fscd/LinT20 fatcat:xgyyd6qhzvavle3qzott7rhxam

Corpse reviver: sound and efficient gradual typing via contract verification

Cameron Moy, Phúc C. Nguyễn, Sam Tobin-Hochstadt, David Van Horn
2021 Proceedings of the ACM on Programming Languages (PACMPL)  
In this paper, we show that by building on existing work on soft contract verification, we can reduce or eliminate this overhead.  ...  If main is blame-free during symbolic execution, it must also be blame-free in any concrete execution, by the soundness of higher-order symbolic execution [Nguyễn et al. 2018 ].  ...  Verification We apply prior work on contract verification using higher-order symbolic execution to confirm that Typed Racket generated contracts are respected [Nguyễn et al. 2018 ].  ... 
doi:10.1145/3434334 fatcat:42yb3qaqf5cetphgdqu2akrzty

Corpse Reviver: Sound and Efficient Gradual Typing via Contract Verification [article]

Cameron Moy and Phúc C. Nguyẽn and Sam Tobin-Hochstadt and David Van Horn
2020 arXiv   pre-print
In this paper, we show that by building on existing work on soft contract verification, we can reduce or eliminate this overhead.  ...  If main is blame-free during symbolic execution, it must also be blame-free in any concrete execution, by the soundness of higher-order symbolic execution [23] .  ...  Verification We apply prior work on contract verification using higher-order symbolic execution to confirm that Typed Racket generated contracts are respected [23] .  ... 
arXiv:2007.12630v1 fatcat:n7qoqveskvemjdtonenerramky

CONFUZZIUS: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts

Christof Ferreira Torres, Antonio Ken Iannillo, Arthur Gervais, Radu State
2021 Zenodo  
We evaluate the effectiveness of CONFUZZIUS by comparing it with state-of-the-art symbolic execution tools and fuzzers for smart contracts.  ...  Most of these tools rely on symbolic execution, which may yield false positives due to over-approximation. Recently, many fuzzers have been proposed to detect bugs in smart contracts.  ...  The interleaving of fuzzing and symbolic execution counts on shallow program paths' quick execution via fuzzing and the execution of complex program paths via symbolic execution. III.  ... 
doi:10.5281/zenodo.5653502 fatcat:62a7jktk5zcrflruav2kn6lzsq

Higher-order symbolic execution for contract verification and refutation [article]

Phuc C. Nguyen and Sam Tobin-Hochstadt and David Van Horn
2016 arXiv   pre-print
We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values.  ...  In doing so, we discover a mutually beneficial relation between behavioral contracts and higher-order symbolic execution.  ...  We benefited from discussing preliminary results at the "Dagstuhl Seminar on Scripting Languages and Frameworks: Analysis and Verification" and the "NII Workshop on Software Contracts for Communication  ... 
arXiv:1507.04817v3 fatcat:vxeq56o7czbinhfvamlal6iwbm

Making Smart Contracts Smarter

Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, Aquinas Hobor
2016 Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security - CCS'16  
For developers writing contracts for the existing Ethereum system, we build a symbolic execution tool called Oyente to find potential security bugs.  ...  We introduce several new security problems in which an adversary can manipulate smart contract execution to gain profit.  ...  Explorer is our main module which symbolically executes the contract.  ... 
doi:10.1145/2976749.2978309 dblp:conf/ccs/LuuCOSH16 fatcat:64hvje3rr5cvjnnk3bx5dwjwcu

A Hybrid Formal Verification System in Coq for Ensuring the Reliability and Security of Ethereum-based Service Smart Contracts [article]

Zheng Yang, Hang Lei, Weizhong Qian
2020 arXiv   pre-print
and higher-order logic theorem proving.  ...  Currently, FSPVM-E supports the ERC20 token standard, and can automatically and symbolically execute Ethereum-based smart contracts, scan their standard vulnerabilities, and verify their reliability and  ...  COMPARISON WITH RELATED WORK Compared with most recent tools based on symbolic execution, FSVPM-E supports symbolic execution in higher-order logic systems.  ... 
arXiv:1902.08726v3 fatcat:3ataiuex5jdaxpzz5uv4w6eqru

FEther: An Extensible Definitional Interpreter for Smart-contract Verifications in Coq [article]

Zheng Yang, Hang Lei
2018 arXiv   pre-print
Combining symbolic execution with higher-order theorem-proving, it solves consistency, automation, and reusability problems by standard theorem-proving approaches.  ...  It supports almost all semantics of the Solidity programing language, and simultaneously executes multiple types of symbols.  ...  Meanwhile, verification in FEther combines higher-order theorem proving and symbolic execution.  ... 
arXiv:1810.04828v2 fatcat:3dd2dfdnzfhi3lgmgnr45aenpe

Finding The Greedy, Prodigal, and Suicidal Contracts at Scale [article]

Ivica Nikolic and Aashish Kolluri and Ilya Sergey and Prateek Saxena and Aquinas Hobor
2018 arXiv   pre-print
Smart contracts---stateful executable objects hosted on blockchains like Ethereum---carry billions of dollars worth of coins and cannot be updated once deployed.  ...  We implemented MAIAN, the first tool for precisely specifying and reasoning about trace properties, which employs inter-procedural symbolic analysis and concrete validator for exhibiting real exploits.  ...  First, we turn our attention to the prodigal/suicidal contracts, which can be uniformly captured by the following higher-order trace predicate. Definition 3.3 (Leaky contracts).  ... 
arXiv:1802.06038v2 fatcat:xdqziyyjtbhijfw7nj2cwzsrwq
« Previous Showing results 1 — 15 out of 52,564 results