Skip to main content

White-Box Mutation Testing of Smart Contracts: A Quick Review

  • Conference paper
  • First Online:
Verification and Evaluation of Computer and Communication Systems (VECoS 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14368))

  • 110 Accesses

Abstract

Once being deployed on the blockchain, smart contracts cannot be altered, requiring more testing. A fault-based testing technique called mutation testing (MT) can significantly increase the utility of a test for smart contracts. MT is a type of white-box testing which is mainly used for unit testing. In fact, certain statements of the source code are changed to check if the test cases are able to find errors in source code. The main objective of MT is ensuring the quality of test cases in terms of robustness in the way that it should fail the mutated source code. In this paper, our goal is to identify and classify the main applications of mutation testing of smart contracts by providing a quick review on the application perspective of mutation testing based on a collection of several papers. In particular, we analysed in which quality assurance processes mutation testing of smart contracts is used, which mutation tools and which mutation operators are employed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.elsevier.com.

  2. 2.

    https://portal.acm.org.

  3. 3.

    https://www.springerlink.com.

  4. 4.

    https://www.ieee.org/web/publications/xplore/.

  5. 5.

    An equivalent mutant is a mutant, which is functionally equivalent to the original program.

  6. 6.

    https://ethereum.org/en/.

  7. 7.

    https://solidity.readthedocs.io/.

  8. 8.

    https://swcregistry.io/.

References

  1. Akca, S., Rajan, A., Peng, C.: SolAnalyser: a framework for analysing and testing smart contracts. In: Proceedings of the 26th Asia-Pacific Software Engineering Conference (APSEC), pp. 482–489 (2019)

    Google Scholar 

  2. Andesta, E., Faghih, F., Fooladgar, M.: Testing smart contracts gets smarter. In: Proceedings of the 10th International Conference on Computer and Knowledge Engineering (ICCKE), pp. 405–412. The Organization (2020)

    Google Scholar 

  3. Barboni, M., Casoni, F., Morichetta, A., Polini, A.: ReSuMo: regression mutation testing for solidity smart contracts. In: Vallecillo, A., Visser, J., Pérez-Castillo, R. (eds.) QUATIC 2022. CCIS, vol. 1621, pp. 61–76. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-14179-9_5

    Chapter  Google Scholar 

  4. Barboni, M., Morichetta, A., Polini, A.: SuMo: a mutation testing strategy for solidity smart contracts. In: Proceedings of the IEEE/ACM International Conference on Automation of Software Test (AST), pp. 50–59 (2021). https://doi.org/10.1109/AST52587.2021.00014

  5. Chapman, P., Xu, D., Deng, L., Xiong, Y.: Deviant: a mutation testing tool for solidity smart contracts. In: Proceedings of the IEEE International Conference on Blockchain (Blockchain), pp. 319–324 (2019). https://doi.org/10.1109/Blockchain.2019.00050

  6. Driessen, S., Nucci, D.D., Monsieur, G., van den Heuvel, W.: AGSoLT: a tool for automated test-case generation for solidity smart contracts. CoRR abs/2102.08864 (2021). https://arxiv.org/abs/2102.08864

  7. Fooladgar, M., Arefzadeh, A., Faghih, F.: TestSmart: a tool for automated generation of effective test cases for smart contracts. In: Proceedings of the 11th International Conference on Computer Engineering and Knowledge (ICCKE), pp. 476–481 (2021). https://doi.org/10.1109/ICCKE54056.2021.9721448

  8. Hammami, M.A., Lahami, M., Maâlej, A.J.: Towards a dynamic testing approach for checking the correctness of ethereum smart contracts. In: Kallel, S., Jmaiel, M., Zulkernine, M., Hadj Kacem, A., Cuppens, F., Cuppens, N. (eds.) CRiSIS 2022. LNCS, vol. 13857, pp. 85–100. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-31108-6_7

    Chapter  Google Scholar 

  9. Hartel, P., Schumi, R.: Mutation testing of smart contracts at scale. In: Ahrendt, W., Wehrheim, H. (eds.) TAP 2020. LNCS, vol. 12165, pp. 23–42. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-50995-8_2

    Chapter  Google Scholar 

  10. Honig, J.J., Everts, M.H., Huisman, M.: Practical mutation testing for smart contracts. In: Pérez-Solà, C., Navarro-Arribas, G., Biryukov, A., Garcia-Alfaro, J. (eds.) DPM/CBT -2019. LNCS, vol. 11737, pp. 289–303. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31500-9_19

    Chapter  Google Scholar 

  11. Ivanova, Y., Khritankov, A.: RegularMutator: a mutation testing tool for solidity smart contracts. Procedia Comput. Sci. 178, 75–83 (2020)

    Article  Google Scholar 

  12. Jabbar, R., Fetais, N., Kharbeche, M., Krichen, M., Barkaoui, K., Shinoy, M.: Blockchain for the internet of vehicles: how to use blockchain to secure vehicle-to-everything (V2X) communication and payment? IEEE Sens. J. 21(14), 15807–15823 (2021)

    Article  Google Scholar 

  13. Jabbar, R., Fetais, N., Krichen, M., Barkaoui, K.: Blockchain technology for healthcare: enhancing shared electronic health record interoperability and integrity. In: 2020 IEEE International Conference on Informatics, IoT, and Enabling Technologies (ICIoT), pp. 310–317. IEEE (2020)

    Google Scholar 

  14. Jabbar, R., Kharbeche, M., Al-Khalifa, K., Krichen, M., Barkaoui, K.: Blockchain for the internet of vehicles: a decentralized IoT solution for vehicles communication using ethereum. Sensors 20(14), 3928 (2020)

    Article  Google Scholar 

  15. Jabbar, R., Krichen, M., Kharbeche, M., Fetais, N., Barkaoui, K.: A formal model-based testing framework for validating an IoT solution for blockchain-based vehicles communication. In: 15th International Conference on Evaluation of Novel Approaches to Software Engineering, pp. 595–602. SCITEPRESS-Science and Technology Publications (2020)

    Google Scholar 

  16. Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Software Eng. 37(5), 649–678 (2011). https://doi.org/10.1109/TSE.2010.62

    Article  Google Scholar 

  17. Krichen, M.: Strengthening the security of smart contracts through the power of artificial intelligence. Computers 12(5), 107 (2023)

    Article  Google Scholar 

  18. Krichen, M., Ammi, M., Mihoub, A., Almutiq, M.: Blockchain for modern applications: a survey. Sensors 22(14), 5274 (2022)

    Article  Google Scholar 

  19. Krichen, M., Lahami, M., Al-Haija, Q.A.: Formal methods for the verification of smart contracts: a review. In: 15th International Conference on Security of Information and Networks, SIN 2022, Sousse, Tunisia, 11–13 November 2022, pp. 1–8. IEEE (2022). https://doi.org/10.1109/SIN56466.2022.9970534

  20. Kushwaha, S.S., Joshi, S., Singh, D., Kaur, M., Lee, H.N.: Ethereum smart contract analysis tools: a systematic review. IEEE Access 10, 57037–57062 (2022). https://doi.org/10.1109/ACCESS.2022.3169902

    Article  Google Scholar 

  21. Lahami, M., Maâlej, A.J., Krichen, M., Hammami, M.A.: A comprehensive review of testing blockchain oriented software. In: Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2022, Online Streaming, 25–26 April 2022, pp. 355–362. SCITEPRESS (2022)

    Google Scholar 

  22. Lal, C., Marijan, D.: Blockchain testing: challenges, techniques, and research directions. CoRR abs/2103.10074 (2021). https://arxiv.org/abs/2103.10074

  23. Li, Z., Wu, H., Xu, J., Wang, X., Zhang, L., Chen, Z.: MuSC: a tool for mutation testing of ethereum smart contract. In: Proceeding of 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 1198–1201 (2019)

    Google Scholar 

  24. Nguyen, Q.V., Madeyski, L.: Problems of mutation testing and higher order mutation testing. In: van Do, T., Thi, H.A.L., Nguyen, N.T. (eds.) Advanced Computational Methods for Knowledge Engineering. AISC, vol. 282, pp. 157–172. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-06569-4_12

    Chapter  Google Scholar 

  25. Sujeetha, R., Preetha, C.A.S.D.: Analysis on mutation testing tools for smart contracts. IJETT J. 70, 280–289 (2022)

    Article  Google Scholar 

  26. Sun, J., Huang, S., Zheng, C., Wang, T., Zong, C., Hui, Z.: Mutation testing for integer overflow in ethereum smart contracts. Tsinghua Sci. Technol. 27(1), 27–40 (2022). https://doi.org/10.26599/TST.2020.9010036

  27. Wang, X., Sun, J., Hu, C., Yu, P., Zhang, B., Hou, D.: Etherfuzz: mutation fuzzing smart contracts for TOD vulnerability detection. Wireless Commun. Mob. Comput. 2022 (2022). https://doi.org/10.1155/2022/1565007

  28. Wang, X., Wu, H., Sun, W., Zhao, Y.: Towards generating cost-effective test-suite for ethereum smart contract. In: Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 549–553 (2019)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Afef Jmal Maâlej .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Jmal Maâlej, A., Lahami, M. (2024). White-Box Mutation Testing of Smart Contracts: A Quick Review. In: Ben Hedia, B., Maleh, Y., Krichen, M. (eds) Verification and Evaluation of Computer and Communication Systems. VECoS 2023. Lecture Notes in Computer Science, vol 14368. Springer, Cham. https://doi.org/10.1007/978-3-031-49737-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-49737-7_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-49736-0

  • Online ISBN: 978-3-031-49737-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics