ReSuMo: Regression Mutation Testing for Solidity Smart Contracts

被引:4
作者
Barboni, Morena [1 ]
Casoni, Francesco [1 ]
Morichetta, Andrea [1 ]
Polini, Andrea [1 ]
机构
[1] Univ Camerino, Camerino, Italy
来源
QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY, QUATIC 2022 | 2022年 / 1621卷
关键词
Mutation testing; Regression testing; Smart contract;
D O I
10.1007/978-3-031-14179-9_5
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Mutation testing is a powerful test adequacy assessment technique that can guarantee the deployment of more reliable Smart Contract code. Developers add new features, fix bugs, and refactor modern distributed applications at a quick pace, thus they must perform continuous re-testing to ensure that the project evolution does not break existing functionalities. However, regularly re-running the entire test suite can be time intensive, especially when mutation testing is involved. This paper presents ReSuMo, the first regression mutation testing approach and tool for Solidity Smart Contracts. ReSuMo uses a static, file-level technique to select a subset of Smart Contracts to mutate and a subset of test files to re-run during a regression mutation testing campaign. ReSuMo incrementally updates the mutation testing results considering the outcomes of the old program version; in this way, it can speed up mutation testing on evolving projects without compromising the mutation score.
引用
收藏
页码:61 / 76
页数:16
相关论文
共 18 条
[1]  
Andesta E., 2019, ABS191204780 CORR
[2]   Using mutation analysis for assessing and comparing testing coverage criteria [J].
Andrews, James H. ;
Briand, Lionel C. ;
Labiche, Yvan ;
Namin, Akbar Siami .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (08) :608-624
[3]  
[Anonymous], 2012, ISSTA, DOI [10.1145/2338965.2336793, DOI 10.1145/2338965.2336793]
[4]   SuMo: A Mutation Testing Strategy for Solidity Smart Contracts [J].
Barboni, Morena ;
Morichetta, Andrea ;
Polini, Andrea .
2021 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST (AST 2021), 2021, :50-59
[5]   Towards Incremental Mutation Testing [J].
Cachia, Mark Anthony ;
Micallef, Mark ;
Colombo, Christian .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2013, 294 :2-11
[6]   Deviant: A Mutation Testing Tool for Solidity Smart Contracts [J].
Chapman, Patrick ;
Xu, Dianxiang ;
Deng, Lin ;
Xiong, Yin .
2019 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2019), 2019, :319-324
[7]   Engineering Trustable Choreography-based Systems using Blockchain [J].
Corradini, F. ;
Marcelletti, A. ;
Morichetta, A. ;
Polini, A. ;
Re, B. ;
Tiezzi, F. .
PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20), 2020, :1470-1479
[8]   Model-driven engineering for multi-party business processes on multiple blockchains [J].
Corradini, Flavio ;
Marcelletti, Alessandro ;
Morichetta, Andrea ;
Polini, Andrea ;
Re, Barbara ;
Scala, Emanuele ;
Tiezzi, Francesco .
BLOCKCHAIN-RESEARCH AND APPLICATIONS, 2021, 2 (03)
[9]   Ekstazi: Lightweight Test Selection [J].
Gligoric, Milos ;
Eloussi, Lamyaa ;
Marinov, Darko .
2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol 2, 2015, :713-716
[10]  
Gligoric Milos., 2015, P 2015 INT S SOFTWAR, P211