SoliDiffy Differencing Contract Pairs and Edit Scripts

TextsMITIntroduced 2024-11-12

SoliDiffy Differencing Contract Pairs and Edit Scripts Dataset

The project creates and maintains two main datasets to assist with research and evaluation of Solidity smart contract differencing:

Mutated Contracts Dataset:

The mutated contracts dataset contains Solidity smart contract pairs generated through mutation testing. Using the SuMo mutation testing tool, we applied 44 mutation operators to original smart contracts, creating up to 10 mutated versions for each file. The dataset includes a diverse range of changes, from simple syntax modifications to complex structural transformations, enabling robust evaluation of differencing tools.

  • Location: Mutated Contracts Dataset
  • Details: This dataset consists of pairs of original and mutated smart contracts, facilitating the comparison of contract pairs with controlled and specific syntactic changes.

Differencing Results Dataset:

This dataset contains the output of the SoliDiffy tool after running it on the mutated contract pairs. Each pair of Solidity contracts has been analyzed by SoliDiffy (and Difftastic for comparison), and the differencing results, including edit scripts and summaries of changes, are provided. This dataset is invaluable for understanding how SoliDiffy captures and represents changes between two versions of a contract.

  • Location: Differencing Results Dataset
  • Details: Each entry in this dataset includes detailed diff results including the time it took to calculate the edit script and edit script itself.