Smart contracts are self-executing programs that operate on a blockchain. Due to their complex and specialized nature, smart contracts often undergo auditing by independent parties before deployment to production. One promising method to enhance the reliability of smart contracts is mutation testing, a powerful albeit time-consuming test adequacy assessment technique. This paper proposes a framework to streamline and parallelize the mutation testing process, making it more practical and accessible for auditors. Simulations conducted on real-world Solidity projects show that the implemented service can significantly reduce the computational time needed for a local, sequential mutation testing run.
Mutation Testing of Smart Contracts As a Service
Barboni M.;Morichetta A.;Polini A.;
2024-01-01
Abstract
Smart contracts are self-executing programs that operate on a blockchain. Due to their complex and specialized nature, smart contracts often undergo auditing by independent parties before deployment to production. One promising method to enhance the reliability of smart contracts is mutation testing, a powerful albeit time-consuming test adequacy assessment technique. This paper proposes a framework to streamline and parallelize the mutation testing process, making it more practical and accessible for auditors. Simulations conducted on real-world Solidity projects show that the implemented service can significantly reduce the computational time needed for a local, sequential mutation testing run.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.