Write a Blog >>
ASE 2021
Sun 14 - Sat 20 November 2021 Australia
Wed 17 Nov 2021 22:40 - 23:00 at Kangaroo - Analysis II Chair(s): Annibale Panichella

Smart contracts are programs running on blockchain to execute transactions. When input constraints or security properties are violated at runtime, the transaction being executed by a smart contract needs to be reverted to avoid undesirable consequences. On Ethereum, the most popular blockchain that supports smart contracts, developers can choose among three transaction-reverting statements (i.e., require, if…revert, and if…throw) to handle anomalous transactions. While these transaction-reverting statements are vital for preventing smart contracts from exhibiting abnormal behaviors or suffering malicious attacks, there is limited understanding on how they are used in practice. In this work, we perform the first empirical study to characterize transaction-reverting statements in Ethereum smart contracts. We measured the prevalence of these statements in 3,866 verified smart contracts from popular dapps and built a taxonomy of their purposes via manually analyzing 557 transaction-reverting statements. We also compared template contracts and their corresponding custom contracts to understand how developers customize the use of transaction-reverting statements. Finally, we analyzed the security impact of transaction-reverting statements by removing them from smart contracts and comparing the mutated contracts against the original ones. Our study led to important findings. For example, we found that transaction-reverting statements are commonly used to perform seven types of authority verifications or validity checks and missing such statements may compromise the security of smart contracts. We also found that current smart contract security analyzers cannot effectively handle transaction-reverting statements when detecting security vulnerabilities. Our findings can shed light on further research in the broad area of smart contract quality assurance and provide practical guidance to smart contract developers on the appropriate use of transaction-reverting statements.

Wed 17 Nov

Displayed time zone: Hobart change

22:00 - 23:00
Analysis IIResearch Papers at Kangaroo
Chair(s): Annibale Panichella Delft University of Technology
22:00
20m
Talk
JSTAR: JavaScript Specification Type Analyzer using Refinement
Research Papers
Jihyeok Park KAIST, Seungmin An KAIST, Shin Wonho KAIST, Yusung Sim KAIST, Sukyoung Ryu KAIST
22:20
20m
Talk
Can neural clone detection generalize to unseen functionalities?
Research Papers
Chenyao Liu School of Software, Tsinghua University, Zeqi Lin Microsoft Research, China, Jian-Guang Lou Microsoft Research, Lijie Wen School of Software, Tsinghua University, Dongmei Zhang Microsoft Research
22:40
20m
Talk
Characterizing Transaction-Reverting Statements in Ethereum Smart Contracts
Research Papers
Lu Liu Southern University of Science and Technology; The Hong Kong University of Science and Technology, Lili Wei Hong Kong University of Science and Technology, Wuqi Zhang The Hong Kong University of Science and Technology, Ming Wen Huazhong University of Science and Technology, Yepang Liu Southern University of Science and Technology, Shing-Chi Cheung Hong Kong University of Science and Technology