Paper "Test Coverage Criteria for Smart Contract Application" Submitted to ScalCom 2019
VeChainOfficial last edited by VeChainOfficial
Description: A research paper titled "Test Coverage Criteria for Smart Contract Application" has been produced and submitted to the 19th IEEE international conference on Scalable Computing and Communication (ScalCom 2019) by the SCNU-VeChain Joint Lab on Blockchain Technology and Applications.
Abstract: The widespread recognition of the smart contracts has established their importance in the landscape of next generation blockchain technology. However, writing a correct smart contract is notoriously difficult to write. Moreover, once a state-changing transaction is confirmed by the network, the result is immutable. For this reason, it is crucial to perform thorough testing of a smart contract application before its deployment. This paper’s focus is on the test coverage criteria for smart contracts, which are objective rules that measure test quality. We analyze the unique characteristics of the Ethereum smart contract program model as compared to the conventional program model. To capture essential control flow behaviors of smart contracts, we propose the notions of whole transaction basis path set and bounded transaction interaction. The former is a limited set of linearly independent inter-procedural paths from which the potentially infinite paths of Ethereum transactions can be constructed by linear combination, while the latter is the permutations of transactions within a certain bound. Based on these two notions, we define a family of path-based test coverage criteria. Algorithms are given to the generation of coverage requirements. A case study is conducted to compare the effectiveness of the proposed test coverage criteria with random testing and statement coverage testing.