Fast Turnaround HLS Debugging Using Dependency Analysis and Debug Overlays

2020 ◽  
Vol 13 (1) ◽  
pp. 1-26
Author(s):  
Al-Shahna Jamal ◽  
Eli Cahill ◽  
Jeffrey Goeders ◽  
Steven J. E. Wilton
Keyword(s):  
2014 ◽  
Vol 36 (1) ◽  
pp. 54-62 ◽  
Author(s):  
Tian-Ying LI ◽  
Lin LIU ◽  
De-Wang ZHAO ◽  
Yuan CAO
Keyword(s):  

1983 ◽  
pp. 109-142
Author(s):  
Carole Peterson ◽  
Allyssa McCabe
Keyword(s):  

2021 ◽  
Author(s):  
Christof Ferreira Torres ◽  
Antonio Ken Iannillo ◽  
Arthur Gervais ◽  
Radu State

<div> <div> <p>Smart contracts are Turing-complete programs that are executed across a blockchain. Unlike traditional programs, once deployed, they cannot be modified. As smart contracts carry more value, they become more of an exciting target for attackers. Over the last years, they suffered from exploits costing millions of dollars due to simple programming mistakes. As a result, a variety of tools for detecting bugs have been proposed. 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. However, these tend to be more effective in finding shallow bugs and less effective in finding bugs that lie deep in the execution, therefore achieving low code coverage and many false negatives. An alternative that has proven to achieve good results in traditional programs is hybrid fuzzing, a combination of symbolic execution and fuzzing. In this work, we study hybrid fuzzing on smart contracts and present ConFuzzius, the first hybrid fuzzer for smart contracts. ConFuzzius uses evolutionary fuzzing to exercise shallow parts of a smart contract and constraint solving to generate inputs that satisfy complex conditions that prevent evolutionary fuzzing from exploring deeper parts. Moreover, ConFuzzius leverages dynamic data dependency analysis to efficiently generate sequences of transactions that are more likely to result in contract states in which bugs may be hidden. We evaluate the effectiveness of ConFuzzius by comparing it with state-of-the-art symbolic execution tools and fuzzers for smart contracts. Our evaluation on a curated dataset of 128 contracts and a dataset of 21K real-world contracts shows that our hybrid approach detects more bugs than state-of-the-art tools (up to 23%) and that it outperforms existing tools in terms of code coverage (up to 69%). We also demonstrate that data dependency analysis can boost bug detection up to 18%.</p> </div> </div>


2015 ◽  
Vol 24 (04) ◽  
pp. 1550012
Author(s):  
Yanying Li ◽  
Youlong Yang ◽  
Wensheng Wang ◽  
Wenming Yang

It is well known that Bayesian network structure learning from data is an NP-hard problem. Learning a correct skeleton of a DAG is the foundation of dependency analysis algorithms for this problem. Considering the unreliability of the high order condition independence (CI) tests and the aim to improve the efficiency of a dependency analysis algorithm, the key steps are to use less number of CI tests and reduce the sizes of condition sets as many as possible. Based on these analyses and inspired by the algorithm HPC, we present an algorithm, named efficient hybrid parents and child (EHPC), for learning the adjacent neighbors of every variable. We proof the validity of the algorithm. Compared with state-of-the-art algorithms, the experimental results show that EHPC can handle large network and has better accuracy with fewer number of condition independence tests and smaller size of conditioning set.


Sign in / Sign up

Export Citation Format

Share Document