diff --git a/Cargo.toml b/Cargo.toml index b1a3ae4..03a4533 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gambit" -version = "0.2.0" +version = "0.2.1" edition = "2021" authors = [ "Chandrakana Nandi ", diff --git a/resources/regressions/all.json/gambit_results.json b/resources/regressions/all.json/gambit_results.json index f41f8f2..9ffd8cc 100644 --- a/resources/regressions/all.json/gambit_results.json +++ b/resources/regressions/all.json/gambit_results.json @@ -70,787 +70,395 @@ "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// SwapArgumentsOperatorMutation(`x - y` |==> `y - x`) of: `return x - y;`\n+\treturn y - x;\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n", + "description": "BinaryOpMutation", + "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `+`) of: `return x * y;`\n+\treturn x+y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "11", "name": "mutants/11/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `+`) of: `return x * y;`\n+\treturn x+y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `-`) of: `return x * y;`\n+\treturn x-y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "12", "name": "mutants/12/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `-`) of: `return x * y;`\n+\treturn x-y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `/`) of: `return x * y;`\n+\treturn x/y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "13", "name": "mutants/13/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `/`) of: `return x * y;`\n+\treturn x/y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `%`) of: `return x * y;`\n+\treturn x%y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "14", "name": "mutants/14/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `%`) of: `return x * y;`\n+\treturn x%y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `**`) of: `return x * y;`\n+\treturn x**y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "15", "name": "mutants/15/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x * y;\n+\t/// BinaryOpMutation(`*` |==> `**`) of: `return x * y;`\n+\treturn x**y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `+`) of: `return x / y;`\n+\treturn x+y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "16", "name": "mutants/16/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `+`) of: `return x / y;`\n+\treturn x+y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `-`) of: `return x / y;`\n+\treturn x-y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "17", "name": "mutants/17/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `-`) of: `return x / y;`\n+\treturn x-y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `*`) of: `return x / y;`\n+\treturn x*y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "18", "name": "mutants/18/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `*`) of: `return x / y;`\n+\treturn x*y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `%`) of: `return x / y;`\n+\treturn x%y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "19", "name": "mutants/19/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `%`) of: `return x / y;`\n+\treturn x%y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `**`) of: `return x / y;`\n+\treturn x**y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "20", "name": "mutants/20/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `**`) of: `return x / y;`\n+\treturn x**y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `+`) of: `return x % y;`\n+\treturn x+y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "21", "name": "mutants/21/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// SwapArgumentsOperatorMutation(`x / y` |==> `y / x`) of: `return x / y;`\n+\treturn y / x;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", + "description": "BinaryOpMutation", + "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `-`) of: `return x % y;`\n+\treturn x-y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "22", "name": "mutants/22/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `+`) of: `return x % y;`\n+\treturn x+y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `*`) of: `return x % y;`\n+\treturn x*y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "23", "name": "mutants/23/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `-`) of: `return x % y;`\n+\treturn x-y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `/`) of: `return x % y;`\n+\treturn x/y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "24", "name": "mutants/24/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `*`) of: `return x % y;`\n+\treturn x*y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `**`) of: `return x % y;`\n+\treturn x**y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "25", "name": "mutants/25/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `/`) of: `return x % y;`\n+\treturn x/y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `+`) of: `return x ** y;`\n+\treturn x+y;\n }\n \n }\n", "id": "26", "name": "mutants/26/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `**`) of: `return x % y;`\n+\treturn x**y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `-`) of: `return x ** y;`\n+\treturn x-y;\n }\n \n }\n", "id": "27", "name": "mutants/27/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// SwapArgumentsOperatorMutation(`x % y` |==> `y % x`) of: `return x % y;`\n+\treturn y % x;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "description": "BinaryOpMutation", + "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `*`) of: `return x ** y;`\n+\treturn x*y;\n }\n \n }\n", "id": "28", "name": "mutants/28/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `+`) of: `return x ** y;`\n+\treturn x+y;\n }\n \n }\n", + "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `/`) of: `return x ** y;`\n+\treturn x/y;\n }\n \n }\n", "id": "29", "name": "mutants/29/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `-`) of: `return x ** y;`\n+\treturn x-y;\n }\n \n }\n", + "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `%`) of: `return x ** y;`\n+\treturn x%y;\n }\n \n }\n", "id": "30", "name": "mutants/30/BinaryOpMutation/BinaryOpMutation.sol", "original": "BinaryOpMutation/BinaryOpMutation.sol", }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `*`) of: `return x ** y;`\n+\treturn x*y;\n }\n \n }\n", - "id": "31", - "name": "mutants/31/BinaryOpMutation/BinaryOpMutation.sol", - "original": "BinaryOpMutation/BinaryOpMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `/`) of: `return x ** y;`\n+\treturn x/y;\n }\n \n }\n", - "id": "32", - "name": "mutants/32/BinaryOpMutation/BinaryOpMutation.sol", - "original": "BinaryOpMutation/BinaryOpMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `%`) of: `return x ** y;`\n+\treturn x%y;\n }\n \n }\n", - "id": "33", - "name": "mutants/33/BinaryOpMutation/BinaryOpMutation.sol", - "original": "BinaryOpMutation/BinaryOpMutation.sol", - }, - { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// SwapArgumentsOperatorMutation(`x ** y` |==> `y ** x`) of: `return x ** y;`\n+\treturn y ** x;\n }\n \n }\n", - "id": "34", - "name": "mutants/34/BinaryOpMutation/BinaryOpMutation.sol", - "original": "BinaryOpMutation/BinaryOpMutation.sol", - }, { "description": "RequireMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract RequireMutation {\n function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) {\n-\trequire(cond1);\n+\t/// RequireMutation(`cond1` |==> `true`) of: `require(cond1);`\n+\trequire(true);\n \trequire(cond2);\n \trequire(cond3);\n \treturn true;\n", - "id": "35", - "name": "mutants/35/RequireMutation/RequireMutation.sol", + "id": "31", + "name": "mutants/31/RequireMutation/RequireMutation.sol", "original": "RequireMutation/RequireMutation.sol", }, { "description": "RequireMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract RequireMutation {\n function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) {\n-\trequire(cond1);\n+\t/// RequireMutation(`cond1` |==> `false`) of: `require(cond1);`\n+\trequire(false);\n \trequire(cond2);\n \trequire(cond3);\n \treturn true;\n", - "id": "36", - "name": "mutants/36/RequireMutation/RequireMutation.sol", + "id": "32", + "name": "mutants/32/RequireMutation/RequireMutation.sol", "original": "RequireMutation/RequireMutation.sol", }, { "description": "RequireMutation", "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract RequireMutation {\n function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) {\n \trequire(cond1);\n-\trequire(cond2);\n+\t/// RequireMutation(`cond2` |==> `true`) of: `require(cond2);`\n+\trequire(true);\n \trequire(cond3);\n \treturn true;\n }\n", - "id": "37", - "name": "mutants/37/RequireMutation/RequireMutation.sol", + "id": "33", + "name": "mutants/33/RequireMutation/RequireMutation.sol", "original": "RequireMutation/RequireMutation.sol", }, { "description": "RequireMutation", "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract RequireMutation {\n function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) {\n \trequire(cond1);\n-\trequire(cond2);\n+\t/// RequireMutation(`cond2` |==> `false`) of: `require(cond2);`\n+\trequire(false);\n \trequire(cond3);\n \treturn true;\n }\n", - "id": "38", - "name": "mutants/38/RequireMutation/RequireMutation.sol", + "id": "34", + "name": "mutants/34/RequireMutation/RequireMutation.sol", "original": "RequireMutation/RequireMutation.sol", }, { "description": "RequireMutation", "diff": "--- original\n+++ mutant\n@@ -6,7 +6,8 @@\n function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) {\n \trequire(cond1);\n \trequire(cond2);\n-\trequire(cond3);\n+\t/// RequireMutation(`cond3` |==> `true`) of: `require(cond3);`\n+\trequire(true);\n \treturn true;\n }\n }\n", - "id": "39", - "name": "mutants/39/RequireMutation/RequireMutation.sol", + "id": "35", + "name": "mutants/35/RequireMutation/RequireMutation.sol", "original": "RequireMutation/RequireMutation.sol", }, { "description": "RequireMutation", "diff": "--- original\n+++ mutant\n@@ -6,7 +6,8 @@\n function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) {\n \trequire(cond1);\n \trequire(cond2);\n-\trequire(cond3);\n+\t/// RequireMutation(`cond3` |==> `false`) of: `require(cond3);`\n+\trequire(false);\n \treturn true;\n }\n }\n", - "id": "40", - "name": "mutants/40/RequireMutation/RequireMutation.sol", + "id": "36", + "name": "mutants/36/RequireMutation/RequireMutation.sol", "original": "RequireMutation/RequireMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -10,7 +10,8 @@\n bool public b;\n \n constructor() {\n-\tx = 42; // original: 42\n+\t/// AssignmentMutation(`42` |==> `0`) of: `x = 42; // original: 42`\n+\tx = 0; // original: 42\n \ty = 13; // original: 13\n \tz = 3110; // original: 3110\n \ta = true; // original: true\n", - "id": "41", - "name": "mutants/41/AssignmentMutation/AssignmentMutation.sol", + "id": "37", + "name": "mutants/37/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -10,7 +10,8 @@\n bool public b;\n \n constructor() {\n-\tx = 42; // original: 42\n+\t/// AssignmentMutation(`42` |==> `1`) of: `x = 42; // original: 42`\n+\tx = 1; // original: 42\n \ty = 13; // original: 13\n \tz = 3110; // original: 3110\n \ta = true; // original: true\n", - "id": "42", - "name": "mutants/42/AssignmentMutation/AssignmentMutation.sol", + "id": "38", + "name": "mutants/38/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -11,7 +11,8 @@\n \n constructor() {\n \tx = 42; // original: 42\n-\ty = 13; // original: 13\n+\t/// AssignmentMutation(`13` |==> `0`) of: `y = 13; // original: 13`\n+\ty = 0; // original: 13\n \tz = 3110; // original: 3110\n \ta = true; // original: true\n \tb = false; // original: false\n", - "id": "43", - "name": "mutants/43/AssignmentMutation/AssignmentMutation.sol", + "id": "39", + "name": "mutants/39/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -11,7 +11,8 @@\n \n constructor() {\n \tx = 42; // original: 42\n-\ty = 13; // original: 13\n+\t/// AssignmentMutation(`13` |==> `1`) of: `y = 13; // original: 13`\n+\ty = 1; // original: 13\n \tz = 3110; // original: 3110\n \ta = true; // original: true\n \tb = false; // original: false\n", - "id": "44", - "name": "mutants/44/AssignmentMutation/AssignmentMutation.sol", + "id": "40", + "name": "mutants/40/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n constructor() {\n \tx = 42; // original: 42\n \ty = 13; // original: 13\n-\tz = 3110; // original: 3110\n+\t/// AssignmentMutation(`3110` |==> `0`) of: `z = 3110; // original: 3110`\n+\tz = 0; // original: 3110\n \ta = true; // original: true\n \tb = false; // original: false\n }\n", - "id": "45", - "name": "mutants/45/AssignmentMutation/AssignmentMutation.sol", + "id": "41", + "name": "mutants/41/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n constructor() {\n \tx = 42; // original: 42\n \ty = 13; // original: 13\n-\tz = 3110; // original: 3110\n+\t/// AssignmentMutation(`3110` |==> `1`) of: `z = 3110; // original: 3110`\n+\tz = 1; // original: 3110\n \ta = true; // original: true\n \tb = false; // original: false\n }\n", - "id": "46", - "name": "mutants/46/AssignmentMutation/AssignmentMutation.sol", + "id": "42", + "name": "mutants/42/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -13,7 +13,8 @@\n \tx = 42; // original: 42\n \ty = 13; // original: 13\n \tz = 3110; // original: 3110\n-\ta = true; // original: true\n+\t/// AssignmentMutation(`true` |==> `false`) of: `a = true; // original: true`\n+\ta = false; // original: true\n \tb = false; // original: false\n }\n }\n", - "id": "47", - "name": "mutants/47/AssignmentMutation/AssignmentMutation.sol", + "id": "43", + "name": "mutants/43/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, { "description": "AssignmentMutation", "diff": "--- original\n+++ mutant\n@@ -14,6 +14,7 @@\n \ty = 13; // original: 13\n \tz = 3110; // original: 3110\n \ta = true; // original: true\n-\tb = false; // original: false\n+\t/// AssignmentMutation(`false` |==> `true`) of: `b = false; // original: false`\n+\tb = true; // original: false\n }\n }\n", - "id": "48", - "name": "mutants/48/AssignmentMutation/AssignmentMutation.sol", + "id": "44", + "name": "mutants/44/AssignmentMutation/AssignmentMutation.sol", "original": "AssignmentMutation/AssignmentMutation.sol", }, - { - "description": "UnaryOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -7,7 +7,8 @@\n function myIdentity(uint256 x) public pure returns (uint256) {\n \tuint256 result = 0;\n \tfor (uint256 i = 0; i < x; i++) {\n-\t result ++;\n+\t /// UnaryOperatorMutation(`++` |==> `--`) of: `result ++;`\n+\t result --;\n \t}\n \treturn result;\n }\n", - "id": "49", - "name": "mutants/49/DeleteExpressionMutation/DeleteExpressionMutation.sol", - "original": "DeleteExpressionMutation/DeleteExpressionMutation.sol", - }, - { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -6,7 +6,8 @@\n \n function myIdentity(uint256 x) public pure returns (uint256) {\n \tuint256 result = 0;\n-\tfor (uint256 i = 0; i < x; i++) {\n+\t/// SwapArgumentsOperatorMutation(`i < x` |==> `x < i`) of: `for (uint256 i = 0; i < x; i++) {`\n+\tfor (uint256 i = 0; x < i; i++) {\n \t result ++;\n \t}\n \treturn result;\n", - "id": "50", - "name": "mutants/50/DeleteExpressionMutation/DeleteExpressionMutation.sol", - "original": "DeleteExpressionMutation/DeleteExpressionMutation.sol", - }, { "description": "DeleteExpressionMutation", "diff": "--- original\n+++ mutant\n@@ -6,7 +6,8 @@\n \n function myIdentity(uint256 x) public pure returns (uint256) {\n \tuint256 result = 0;\n-\tfor (uint256 i = 0; i < x; i++) {\n+\t/// DeleteExpressionMutation(`i++` |==> `/* i++ */`) of: `for (uint256 i = 0; i < x; i++) {`\n+\tfor (uint256 i = 0; i < x; /* i++ */) {\n \t result ++;\n \t}\n \treturn result;\n", - "id": "51", - "name": "mutants/51/DeleteExpressionMutation/DeleteExpressionMutation.sol", - "original": "DeleteExpressionMutation/DeleteExpressionMutation.sol", - }, - { - "description": "UnaryOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -6,7 +6,8 @@\n \n function myIdentity(uint256 x) public pure returns (uint256) {\n \tuint256 result = 0;\n-\tfor (uint256 i = 0; i < x; i++) {\n+\t/// UnaryOperatorMutation(`++` |==> `--`) of: `for (uint256 i = 0; i < x; i++) {`\n+\tfor (uint256 i = 0; i < x; i--) {\n \t result ++;\n \t}\n \treturn result;\n", - "id": "52", - "name": "mutants/52/DeleteExpressionMutation/DeleteExpressionMutation.sol", + "id": "45", + "name": "mutants/45/DeleteExpressionMutation/DeleteExpressionMutation.sol", "original": "DeleteExpressionMutation/DeleteExpressionMutation.sol", }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract FunctionCallMutation {\n function myAddition(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x + y;\n+\t/// BinaryOpMutation(`+` |==> `-`) of: `return x + y;`\n+\treturn x-y;\n }\n \n function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "53", - "name": "mutants/53/FunctionCallMutation/FunctionCallMutation.sol", - "original": "FunctionCallMutation/FunctionCallMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract FunctionCallMutation {\n function myAddition(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x + y;\n+\t/// BinaryOpMutation(`+` |==> `*`) of: `return x + y;`\n+\treturn x*y;\n }\n \n function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "54", - "name": "mutants/54/FunctionCallMutation/FunctionCallMutation.sol", - "original": "FunctionCallMutation/FunctionCallMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract FunctionCallMutation {\n function myAddition(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x + y;\n+\t/// BinaryOpMutation(`+` |==> `/`) of: `return x + y;`\n+\treturn x/y;\n }\n \n function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "55", - "name": "mutants/55/FunctionCallMutation/FunctionCallMutation.sol", - "original": "FunctionCallMutation/FunctionCallMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract FunctionCallMutation {\n function myAddition(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x + y;\n+\t/// BinaryOpMutation(`+` |==> `%`) of: `return x + y;`\n+\treturn x%y;\n }\n \n function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "56", - "name": "mutants/56/FunctionCallMutation/FunctionCallMutation.sol", - "original": "FunctionCallMutation/FunctionCallMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract FunctionCallMutation {\n function myAddition(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x + y;\n+\t/// BinaryOpMutation(`+` |==> `**`) of: `return x + y;`\n+\treturn x**y;\n }\n \n function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "57", - "name": "mutants/57/FunctionCallMutation/FunctionCallMutation.sol", - "original": "FunctionCallMutation/FunctionCallMutation.sol", - }, { "description": "IfStatementMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract IfStatementMutation {\n function myBooleanNegation(bool a) public pure returns (bool) {\n-\tif (a) {\n+\t/// IfStatementMutation(`a` |==> `true`) of: `if (a) {`\n+\tif (true) {\n \t return true;\n \t}\n \telse {\n", - "id": "58", - "name": "mutants/58/IfStatementMutation/IfStatementMutation.sol", + "id": "46", + "name": "mutants/46/IfStatementMutation/IfStatementMutation.sol", "original": "IfStatementMutation/IfStatementMutation.sol", }, { "description": "IfStatementMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract IfStatementMutation {\n function myBooleanNegation(bool a) public pure returns (bool) {\n-\tif (a) {\n+\t/// IfStatementMutation(`a` |==> `false`) of: `if (a) {`\n+\tif (false) {\n \t return true;\n \t}\n \telse {\n", - "id": "59", - "name": "mutants/59/IfStatementMutation/IfStatementMutation.sol", + "id": "47", + "name": "mutants/47/IfStatementMutation/IfStatementMutation.sol", "original": "IfStatementMutation/IfStatementMutation.sol", }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract SwapArgumentsFunctionMutation {\n \n function foo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `+`) of: `return x - y;`\n+\treturn x+y;\n }\n \n function bar(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "60", - "name": "mutants/60/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - "original": "SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract SwapArgumentsFunctionMutation {\n \n function foo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `*`) of: `return x - y;`\n+\treturn x*y;\n }\n \n function bar(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "61", - "name": "mutants/61/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - "original": "SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract SwapArgumentsFunctionMutation {\n \n function foo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `/`) of: `return x - y;`\n+\treturn x/y;\n }\n \n function bar(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "62", - "name": "mutants/62/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - "original": "SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract SwapArgumentsFunctionMutation {\n \n function foo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `%`) of: `return x - y;`\n+\treturn x%y;\n }\n \n function bar(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "63", - "name": "mutants/63/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - "original": "SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract SwapArgumentsFunctionMutation {\n \n function foo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `**`) of: `return x - y;`\n+\treturn x**y;\n }\n \n function bar(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "64", - "name": "mutants/64/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - "original": "SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - }, - { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -5,7 +5,8 @@\n contract SwapArgumentsFunctionMutation {\n \n function foo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// SwapArgumentsOperatorMutation(`x - y` |==> `y - x`) of: `return x - y;`\n+\treturn y - x;\n }\n \n function bar(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "65", - "name": "mutants/65/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - "original": "SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract SwapArgumentsOperatorMutation {\n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `+`) of: `return x - y;`\n+\treturn x+y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "66", - "name": "mutants/66/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract SwapArgumentsOperatorMutation {\n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `*`) of: `return x - y;`\n+\treturn x*y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "67", - "name": "mutants/67/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract SwapArgumentsOperatorMutation {\n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `/`) of: `return x - y;`\n+\treturn x/y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "68", - "name": "mutants/68/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract SwapArgumentsOperatorMutation {\n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `%`) of: `return x - y;`\n+\treturn x%y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "69", - "name": "mutants/69/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract SwapArgumentsOperatorMutation {\n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// BinaryOpMutation(`-` |==> `**`) of: `return x - y;`\n+\treturn x**y;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "70", - "name": "mutants/70/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract SwapArgumentsOperatorMutation {\n function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x - y;\n+\t/// SwapArgumentsOperatorMutation(`x - y` |==> `y - x`) of: `return x - y;`\n+\treturn y - x;\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "71", - "name": "mutants/71/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `+`) of: `return x / y;`\n+\treturn x+y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "72", - "name": "mutants/72/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `-`) of: `return x / y;`\n+\treturn x-y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "73", - "name": "mutants/73/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `*`) of: `return x / y;`\n+\treturn x*y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "74", - "name": "mutants/74/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `%`) of: `return x / y;`\n+\treturn x%y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "75", - "name": "mutants/75/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// BinaryOpMutation(`/` |==> `**`) of: `return x / y;`\n+\treturn x**y;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "76", - "name": "mutants/76/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "48", + "name": "mutants/48/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myDivision(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x / y;\n+\t/// SwapArgumentsOperatorMutation(`x / y` |==> `y / x`) of: `return x / y;`\n+\treturn y / x;\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "77", - "name": "mutants/77/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `+`) of: `return x % y;`\n+\treturn x+y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "78", - "name": "mutants/78/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `-`) of: `return x % y;`\n+\treturn x-y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "79", - "name": "mutants/79/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `*`) of: `return x % y;`\n+\treturn x*y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "80", - "name": "mutants/80/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `/`) of: `return x % y;`\n+\treturn x/y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "81", - "name": "mutants/81/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `**`) of: `return x % y;`\n+\treturn x**y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "82", - "name": "mutants/82/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "49", + "name": "mutants/49/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// SwapArgumentsOperatorMutation(`x % y` |==> `y % x`) of: `return x % y;`\n+\treturn y % x;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "83", - "name": "mutants/83/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `+`) of: `return x ** y;`\n+\treturn x+y;\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "84", - "name": "mutants/84/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `-`) of: `return x ** y;`\n+\treturn x-y;\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "85", - "name": "mutants/85/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `*`) of: `return x ** y;`\n+\treturn x*y;\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "86", - "name": "mutants/86/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `/`) of: `return x ** y;`\n+\treturn x/y;\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "87", - "name": "mutants/87/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// BinaryOpMutation(`**` |==> `%`) of: `return x ** y;`\n+\treturn x%y;\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "88", - "name": "mutants/88/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "50", + "name": "mutants/50/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x ** y;\n+\t/// SwapArgumentsOperatorMutation(`x ** y` |==> `y ** x`) of: `return x ** y;`\n+\treturn y ** x;\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "89", - "name": "mutants/89/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "51", + "name": "mutants/51/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myGT(uint256 x, uint256 y) public pure returns (bool) {\n-\treturn x > y;\n+\t/// SwapArgumentsOperatorMutation(`x > y` |==> `y > x`) of: `return x > y;`\n+\treturn y > x;\n }\n \n function myLT(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "90", - "name": "mutants/90/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "52", + "name": "mutants/52/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -24,7 +24,8 @@\n }\n \n function myLT(uint256 x, uint256 y) public pure returns (bool) {\n-\treturn x < y;\n+\t/// SwapArgumentsOperatorMutation(`x < y` |==> `y < x`) of: `return x < y;`\n+\treturn y < x;\n }\n \n function myGE(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "91", - "name": "mutants/91/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "53", + "name": "mutants/53/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -28,7 +28,8 @@\n }\n \n function myGE(uint256 x, uint256 y) public pure returns (bool) {\n-\treturn x >= y;\n+\t/// SwapArgumentsOperatorMutation(`x >= y` |==> `y >= x`) of: `return x >= y;`\n+\treturn y >= x;\n }\n \n function myLE(uint256 x, uint256 y) public pure returns (bool) {\n", - "id": "92", - "name": "mutants/92/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "54", + "name": "mutants/54/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -32,7 +32,8 @@\n }\n \n function myLE(uint256 x, uint256 y) public pure returns (bool) {\n-\treturn x <= y;\n+\t/// SwapArgumentsOperatorMutation(`x <= y` |==> `y <= x`) of: `return x <= y;`\n+\treturn y <= x;\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "93", - "name": "mutants/93/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// BinaryOpMutation(`<<` |==> `+`) of: `return x << y;`\n+\treturn x+y;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "94", - "name": "mutants/94/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// BinaryOpMutation(`<<` |==> `-`) of: `return x << y;`\n+\treturn x-y;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "95", - "name": "mutants/95/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// BinaryOpMutation(`<<` |==> `*`) of: `return x << y;`\n+\treturn x*y;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "96", - "name": "mutants/96/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// BinaryOpMutation(`<<` |==> `/`) of: `return x << y;`\n+\treturn x/y;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "97", - "name": "mutants/97/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// BinaryOpMutation(`<<` |==> `%`) of: `return x << y;`\n+\treturn x%y;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "98", - "name": "mutants/98/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// BinaryOpMutation(`<<` |==> `**`) of: `return x << y;`\n+\treturn x**y;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "99", - "name": "mutants/99/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "55", + "name": "mutants/55/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -36,7 +36,8 @@\n }\n \n function mySAL(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x << y;\n+\t/// SwapArgumentsOperatorMutation(`x << y` |==> `y << x`) of: `return x << y;`\n+\treturn y << x;\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n", - "id": "100", - "name": "mutants/100/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// BinaryOpMutation(`>>` |==> `+`) of: `return x >> y;`\n+\treturn x+y;\n }\n }\n", - "id": "101", - "name": "mutants/101/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// BinaryOpMutation(`>>` |==> `-`) of: `return x >> y;`\n+\treturn x-y;\n }\n }\n", - "id": "102", - "name": "mutants/102/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// BinaryOpMutation(`>>` |==> `*`) of: `return x >> y;`\n+\treturn x*y;\n }\n }\n", - "id": "103", - "name": "mutants/103/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// BinaryOpMutation(`>>` |==> `/`) of: `return x >> y;`\n+\treturn x/y;\n }\n }\n", - "id": "104", - "name": "mutants/104/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// BinaryOpMutation(`>>` |==> `%`) of: `return x >> y;`\n+\treturn x%y;\n }\n }\n", - "id": "105", - "name": "mutants/105/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// BinaryOpMutation(`>>` |==> `**`) of: `return x >> y;`\n+\treturn x**y;\n }\n }\n", - "id": "106", - "name": "mutants/106/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "56", + "name": "mutants/56/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "SwapArgumentsOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -40,6 +40,7 @@\n }\n \n function mySAR(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x >> y;\n+\t/// SwapArgumentsOperatorMutation(`x >> y` |==> `y >> x`) of: `return x >> y;`\n+\treturn y >> x;\n }\n }\n", - "id": "107", - "name": "mutants/107/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", + "id": "57", + "name": "mutants/57/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", "original": "SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract UnaryOperatorMutation {\n function myBitwiseNeg(uint256 x) public pure returns (uint256) {\n-\treturn ~ x;\n+\t/// UnaryOperatorMutation(`~` |==> `++`) of: `return ~ x;`\n+\treturn ++ x;\n }\n \n function myPrefixIncr(uint256 x) public pure returns (uint256) {\n", - "id": "108", - "name": "mutants/108/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "58", + "name": "mutants/58/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -4,7 +4,8 @@\n \n contract UnaryOperatorMutation {\n function myBitwiseNeg(uint256 x) public pure returns (uint256) {\n-\treturn ~ x;\n+\t/// UnaryOperatorMutation(`~` |==> `--`) of: `return ~ x;`\n+\treturn -- x;\n }\n \n function myPrefixIncr(uint256 x) public pure returns (uint256) {\n", - "id": "109", - "name": "mutants/109/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "59", + "name": "mutants/59/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myPrefixIncr(uint256 x) public pure returns (uint256) {\n-\treturn ++x;\n+\t/// UnaryOperatorMutation(`++` |==> `--`) of: `return ++x;`\n+\treturn --x;\n }\n \n function myPrefixDecr(uint256 x) public pure returns (uint256) {\n", - "id": "110", - "name": "mutants/110/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "60", + "name": "mutants/60/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function myPrefixIncr(uint256 x) public pure returns (uint256) {\n-\treturn ++x;\n+\t/// UnaryOperatorMutation(`++` |==> `~`) of: `return ++x;`\n+\treturn ~x;\n }\n \n function myPrefixDecr(uint256 x) public pure returns (uint256) {\n", - "id": "111", - "name": "mutants/111/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "61", + "name": "mutants/61/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myPrefixDecr(uint256 x) public pure returns (uint256) {\n-\treturn --x;\n+\t/// UnaryOperatorMutation(`--` |==> `++`) of: `return --x;`\n+\treturn ++x;\n }\n \n function mySuffixIncr(uint256 x) public pure returns (uint256) {\n", - "id": "112", - "name": "mutants/112/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "62", + "name": "mutants/62/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -12,7 +12,8 @@\n }\n \n function myPrefixDecr(uint256 x) public pure returns (uint256) {\n-\treturn --x;\n+\t/// UnaryOperatorMutation(`--` |==> `~`) of: `return --x;`\n+\treturn ~x;\n }\n \n function mySuffixIncr(uint256 x) public pure returns (uint256) {\n", - "id": "113", - "name": "mutants/113/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "63", + "name": "mutants/63/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -16,7 +16,8 @@\n }\n \n function mySuffixIncr(uint256 x) public pure returns (uint256) {\n-\tx++;\n+\t/// UnaryOperatorMutation(`++` |==> `--`) of: `x++;`\n+\tx--;\n \treturn x;\n }\n \n", - "id": "114", - "name": "mutants/114/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "64", + "name": "mutants/64/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, { "description": "UnaryOperatorMutation", "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n }\n \n function mySuffixDecr(uint256 x) public pure returns (uint256) {\n-\tx--;\n+\t/// UnaryOperatorMutation(`--` |==> `++`) of: `x--;`\n+\tx++;\n \treturn x;\n }\n }\n", - "id": "115", - "name": "mutants/115/UnaryOperatorMutation/UnaryOperatorMutation.sol", + "id": "65", + "name": "mutants/65/UnaryOperatorMutation/UnaryOperatorMutation.sol", "original": "UnaryOperatorMutation/UnaryOperatorMutation.sol", }, - { - "description": "AssignmentMutation", - "diff": "--- original\n+++ mutant\n@@ -7,7 +7,8 @@\n uint public value;\n \n function setVars(uint _num) public payable {\n- num = _num;\n+ /// AssignmentMutation(`_num` |==> `0`) of: `num = _num;`\n+ num = 0;\n sender = msg.sender;\n value = msg.value;\n }\n", - "id": "116", - "name": "mutants/116/ElimDelegateMutation/ElimDelegateMutation.sol", - "original": "ElimDelegateMutation/ElimDelegateMutation.sol", - }, - { - "description": "AssignmentMutation", - "diff": "--- original\n+++ mutant\n@@ -7,7 +7,8 @@\n uint public value;\n \n function setVars(uint _num) public payable {\n- num = _num;\n+ /// AssignmentMutation(`_num` |==> `1`) of: `num = _num;`\n+ num = 1;\n sender = msg.sender;\n value = msg.value;\n }\n", - "id": "117", - "name": "mutants/117/ElimDelegateMutation/ElimDelegateMutation.sol", - "original": "ElimDelegateMutation/ElimDelegateMutation.sol", - }, - { - "description": "AssignmentMutation", - "diff": "--- original\n+++ mutant\n@@ -9,7 +9,8 @@\n function setVars(uint _num) public payable {\n num = _num;\n sender = msg.sender;\n- value = msg.value;\n+ /// AssignmentMutation(`msg.value` |==> `0`) of: `value = msg.value;`\n+ value = 0;\n }\n }\n \n", - "id": "118", - "name": "mutants/118/ElimDelegateMutation/ElimDelegateMutation.sol", - "original": "ElimDelegateMutation/ElimDelegateMutation.sol", - }, - { - "description": "AssignmentMutation", - "diff": "--- original\n+++ mutant\n@@ -9,7 +9,8 @@\n function setVars(uint _num) public payable {\n num = _num;\n sender = msg.sender;\n- value = msg.value;\n+ /// AssignmentMutation(`msg.value` |==> `1`) of: `value = msg.value;`\n+ value = 1;\n }\n }\n \n", - "id": "119", - "name": "mutants/119/ElimDelegateMutation/ElimDelegateMutation.sol", - "original": "ElimDelegateMutation/ElimDelegateMutation.sol", - }, { "description": "ElimDelegateMutation", "diff": "--- original\n+++ mutant\n@@ -22,7 +22,8 @@\n \n \n function setVars(address _contract, uint _num) public payable {\n- (bool success, bytes memory data) = _contract.delegatecall(\n+ /// ElimDelegateMutation(`delegatecall` |==> `call`) of: `(bool success, bytes memory data) = _contract.delegatecall(`\n+ (bool success, bytes memory data) = _contract.call(\n abi.encodeWithSignature(\"setVars(uint256)\", _num)\n );\n \tdelegateSuccessful = success;\n", - "id": "120", - "name": "mutants/120/ElimDelegateMutation/ElimDelegateMutation.sol", - "original": "ElimDelegateMutation/ElimDelegateMutation.sol", - }, - { - "description": "AssignmentMutation", - "diff": "--- original\n+++ mutant\n@@ -25,7 +25,8 @@\n (bool success, bytes memory data) = _contract.delegatecall(\n abi.encodeWithSignature(\"setVars(uint256)\", _num)\n );\n-\tdelegateSuccessful = success;\n+\t/// AssignmentMutation(`success` |==> `true`) of: `delegateSuccessful = success;`\n+\tdelegateSuccessful = true;\n \tmyData = data;\n }\n }\n", - "id": "121", - "name": "mutants/121/ElimDelegateMutation/ElimDelegateMutation.sol", - "original": "ElimDelegateMutation/ElimDelegateMutation.sol", - }, - { - "description": "AssignmentMutation", - "diff": "--- original\n+++ mutant\n@@ -25,7 +25,8 @@\n (bool success, bytes memory data) = _contract.delegatecall(\n abi.encodeWithSignature(\"setVars(uint256)\", _num)\n );\n-\tdelegateSuccessful = success;\n+\t/// AssignmentMutation(`success` |==> `false`) of: `delegateSuccessful = success;`\n+\tdelegateSuccessful = false;\n \tmyData = data;\n }\n }\n", - "id": "122", - "name": "mutants/122/ElimDelegateMutation/ElimDelegateMutation.sol", + "id": "66", + "name": "mutants/66/ElimDelegateMutation/ElimDelegateMutation.sol", "original": "ElimDelegateMutation/ElimDelegateMutation.sol", } ] \ No newline at end of file diff --git a/resources/regressions/all.json/mutants.log b/resources/regressions/all.json/mutants.log index 3bfbeb8..19b221f 100644 --- a/resources/regressions/all.json/mutants.log +++ b/resources/regressions/all.json/mutants.log @@ -8,115 +8,59 @@ 8,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,11:10, - ,/ 9,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,11:10, - ,% 10,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,11:10, - ,** -11,SwapArgumentsOperatorMutation,BinaryOpMutation/BinaryOpMutation.sol,11:9,x - y,y - x -12,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,+ -13,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,- -14,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,/ -15,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,% -16,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,** -17,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,+ -18,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,- -19,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,* -20,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,% -21,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,** -22,SwapArgumentsOperatorMutation,BinaryOpMutation/BinaryOpMutation.sol,19:9,x / y,y / x -23,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,+ -24,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,- -25,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,* -26,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,/ -27,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,** -28,SwapArgumentsOperatorMutation,BinaryOpMutation/BinaryOpMutation.sol,23:9,x % y,y % x -29,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,+ -30,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,- -31,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,* -32,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,/ -33,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,% -34,SwapArgumentsOperatorMutation,BinaryOpMutation/BinaryOpMutation.sol,27:9,x ** y,y ** x -35,RequireMutation,RequireMutation/RequireMutation.sol,7:10,cond1,true -36,RequireMutation,RequireMutation/RequireMutation.sol,7:10,cond1,false -37,RequireMutation,RequireMutation/RequireMutation.sol,8:10,cond2,true -38,RequireMutation,RequireMutation/RequireMutation.sol,8:10,cond2,false -39,RequireMutation,RequireMutation/RequireMutation.sol,9:10,cond3,true -40,RequireMutation,RequireMutation/RequireMutation.sol,9:10,cond3,false -41,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,13:6,42,0 -42,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,13:6,42,1 -43,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,14:6,13,0 -44,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,14:6,13,1 -45,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,15:6,3110,0 -46,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,15:6,3110,1 -47,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,16:6,true,false -48,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,17:6,false,true -49,UnaryOperatorMutation,DeleteExpressionMutation/DeleteExpressionMutation.sol,10:13,++,-- -50,SwapArgumentsOperatorMutation,DeleteExpressionMutation/DeleteExpressionMutation.sol,9:22,i < x,x < i -51,DeleteExpressionMutation,DeleteExpressionMutation/DeleteExpressionMutation.sol,9:29,i++,/* i++ */ -52,UnaryOperatorMutation,DeleteExpressionMutation/DeleteExpressionMutation.sol,9:30,++,-- -53,BinaryOpMutation,FunctionCallMutation/FunctionCallMutation.sol,7:10, + ,- -54,BinaryOpMutation,FunctionCallMutation/FunctionCallMutation.sol,7:10, + ,* -55,BinaryOpMutation,FunctionCallMutation/FunctionCallMutation.sol,7:10, + ,/ -56,BinaryOpMutation,FunctionCallMutation/FunctionCallMutation.sol,7:10, + ,% -57,BinaryOpMutation,FunctionCallMutation/FunctionCallMutation.sol,7:10, + ,** -58,IfStatementMutation,IfStatementMutation/IfStatementMutation.sol,7:6,a,true -59,IfStatementMutation,IfStatementMutation/IfStatementMutation.sol,7:6,a,false -60,BinaryOpMutation,SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol,8:10, - ,+ -61,BinaryOpMutation,SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol,8:10, - ,* -62,BinaryOpMutation,SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol,8:10, - ,/ -63,BinaryOpMutation,SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol,8:10, - ,% -64,BinaryOpMutation,SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol,8:10, - ,** -65,SwapArgumentsOperatorMutation,SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol,8:9,x - y,y - x -66,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:10, - ,+ -67,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:10, - ,* -68,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:10, - ,/ -69,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:10, - ,% -70,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:10, - ,** -71,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:9,x - y,y - x -72,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:10, / ,+ -73,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:10, / ,- -74,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:10, / ,* -75,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:10, / ,% -76,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:10, / ,** -77,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:9,x / y,y / x -78,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:10, % ,+ -79,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:10, % ,- -80,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:10, % ,* -81,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:10, % ,/ -82,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:10, % ,** -83,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:9,x % y,y % x -84,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:10, ** ,+ -85,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:10, ** ,- -86,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:10, ** ,* -87,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:10, ** ,/ -88,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:10, ** ,% -89,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:9,x ** y,y ** x -90,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,23:9,x > y,y > x -91,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,27:9,x < y,y < x -92,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,31:9,x >= y,y >= x -93,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,35:9,x <= y,y <= x -94,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:10, << ,+ -95,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:10, << ,- -96,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:10, << ,* -97,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:10, << ,/ -98,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:10, << ,% -99,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:10, << ,** -100,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:9,x << y,y << x -101,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:10, >> ,+ -102,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:10, >> ,- -103,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:10, >> ,* -104,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:10, >> ,/ -105,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:10, >> ,% -106,BinaryOpMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:10, >> ,** -107,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:9,x >> y,y >> x -108,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,7:9,~,++ -109,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,7:9,~,-- -110,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,11:9,++,-- -111,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,11:9,++,~ -112,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,15:9,--,++ -113,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,15:9,--,~ -114,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,19:3,++,-- -115,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,24:3,--,++ -116,AssignmentMutation,ElimDelegateMutation/ElimDelegateMutation.sol,10:15,_num,0 -117,AssignmentMutation,ElimDelegateMutation/ElimDelegateMutation.sol,10:15,_num,1 -118,AssignmentMutation,ElimDelegateMutation/ElimDelegateMutation.sol,12:17,msg.value,0 -119,AssignmentMutation,ElimDelegateMutation/ElimDelegateMutation.sol,12:17,msg.value,1 -120,ElimDelegateMutation,ElimDelegateMutation/ElimDelegateMutation.sol,25:55,delegatecall,call -121,AssignmentMutation,ElimDelegateMutation/ElimDelegateMutation.sol,28:23,success,true -122,AssignmentMutation,ElimDelegateMutation/ElimDelegateMutation.sol,28:23,success,false +11,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,+ +12,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,- +13,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,/ +14,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,% +15,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,15:10, * ,** +16,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,+ +17,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,- +18,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,* +19,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,% +20,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,19:10, / ,** +21,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,+ +22,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,- +23,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,* +24,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,/ +25,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,23:10, % ,** +26,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,+ +27,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,- +28,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,* +29,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,/ +30,BinaryOpMutation,BinaryOpMutation/BinaryOpMutation.sol,27:10, ** ,% +31,RequireMutation,RequireMutation/RequireMutation.sol,7:10,cond1,true +32,RequireMutation,RequireMutation/RequireMutation.sol,7:10,cond1,false +33,RequireMutation,RequireMutation/RequireMutation.sol,8:10,cond2,true +34,RequireMutation,RequireMutation/RequireMutation.sol,8:10,cond2,false +35,RequireMutation,RequireMutation/RequireMutation.sol,9:10,cond3,true +36,RequireMutation,RequireMutation/RequireMutation.sol,9:10,cond3,false +37,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,13:6,42,0 +38,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,13:6,42,1 +39,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,14:6,13,0 +40,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,14:6,13,1 +41,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,15:6,3110,0 +42,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,15:6,3110,1 +43,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,16:6,true,false +44,AssignmentMutation,AssignmentMutation/AssignmentMutation.sol,17:6,false,true +45,DeleteExpressionMutation,DeleteExpressionMutation/DeleteExpressionMutation.sol,9:29,i++,/* i++ */ +46,IfStatementMutation,IfStatementMutation/IfStatementMutation.sol,7:6,a,true +47,IfStatementMutation,IfStatementMutation/IfStatementMutation.sol,7:6,a,false +48,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,7:9,x - y,y - x +49,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,11:9,x / y,y / x +50,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,15:9,x % y,y % x +51,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,19:9,x ** y,y ** x +52,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,23:9,x > y,y > x +53,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,27:9,x < y,y < x +54,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,31:9,x >= y,y >= x +55,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,35:9,x <= y,y <= x +56,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,39:9,x << y,y << x +57,SwapArgumentsOperatorMutation,SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol,43:9,x >> y,y >> x +58,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,7:9,~,++ +59,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,7:9,~,-- +60,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,11:9,++,-- +61,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,11:9,++,~ +62,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,15:9,--,++ +63,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,15:9,--,~ +64,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,19:3,++,-- +65,UnaryOperatorMutation,UnaryOperatorMutation/UnaryOperatorMutation.sol,24:3,--,++ +66,ElimDelegateMutation,ElimDelegateMutation/ElimDelegateMutation.sol,25:55,delegatecall,call diff --git a/resources/regressions/all.json/mutants/101/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/101/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index ed4d25b..0000000 --- a/resources/regressions/all.json/mutants/101/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`>>` |==> `+`) of: `return x >> y;` - return x+y; - } -} diff --git a/resources/regressions/all.json/mutants/102/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/102/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index cf8c6b2..0000000 --- a/resources/regressions/all.json/mutants/102/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`>>` |==> `-`) of: `return x >> y;` - return x-y; - } -} diff --git a/resources/regressions/all.json/mutants/103/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/103/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 29b9939..0000000 --- a/resources/regressions/all.json/mutants/103/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`>>` |==> `*`) of: `return x >> y;` - return x*y; - } -} diff --git a/resources/regressions/all.json/mutants/104/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/104/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index daa871e..0000000 --- a/resources/regressions/all.json/mutants/104/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`>>` |==> `/`) of: `return x >> y;` - return x/y; - } -} diff --git a/resources/regressions/all.json/mutants/105/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/105/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 00551c8..0000000 --- a/resources/regressions/all.json/mutants/105/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`>>` |==> `%`) of: `return x >> y;` - return x%y; - } -} diff --git a/resources/regressions/all.json/mutants/106/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/106/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 2f9a270..0000000 --- a/resources/regressions/all.json/mutants/106/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`>>` |==> `**`) of: `return x >> y;` - return x**y; - } -} diff --git a/resources/regressions/all.json/mutants/11/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/11/BinaryOpMutation/BinaryOpMutation.sol index 4bd3853..6a44886 100644 --- a/resources/regressions/all.json/mutants/11/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/11/BinaryOpMutation/BinaryOpMutation.sol @@ -8,12 +8,12 @@ contract BinaryOpMutation { } function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - /// SwapArgumentsOperatorMutation(`x - y` |==> `y - x`) of: `return x - y;` - return y - x; + return x - y; } function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - return x * y; + /// BinaryOpMutation(`*` |==> `+`) of: `return x * y;` + return x+y; } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/116/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/116/ElimDelegateMutation/ElimDelegateMutation.sol deleted file mode 100644 index 69b3947..0000000 --- a/resources/regressions/all.json/mutants/116/ElimDelegateMutation/ElimDelegateMutation.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity ^0.8.13; - -contract B { - uint public num; - address public sender; - uint public value; - - function setVars(uint _num) public payable { - /// AssignmentMutation(`_num` |==> `0`) of: `num = _num;` - num = 0; - sender = msg.sender; - value = msg.value; - } -} - -contract A { - uint public num; - address public sender; - uint public value; - bool public delegateSuccessful; - bytes public myData; - - - function setVars(address _contract, uint _num) public payable { - (bool success, bytes memory data) = _contract.delegatecall( - abi.encodeWithSignature("setVars(uint256)", _num) - ); - delegateSuccessful = success; - myData = data; - } -} diff --git a/resources/regressions/all.json/mutants/117/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/117/ElimDelegateMutation/ElimDelegateMutation.sol deleted file mode 100644 index 787f61d..0000000 --- a/resources/regressions/all.json/mutants/117/ElimDelegateMutation/ElimDelegateMutation.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity ^0.8.13; - -contract B { - uint public num; - address public sender; - uint public value; - - function setVars(uint _num) public payable { - /// AssignmentMutation(`_num` |==> `1`) of: `num = _num;` - num = 1; - sender = msg.sender; - value = msg.value; - } -} - -contract A { - uint public num; - address public sender; - uint public value; - bool public delegateSuccessful; - bytes public myData; - - - function setVars(address _contract, uint _num) public payable { - (bool success, bytes memory data) = _contract.delegatecall( - abi.encodeWithSignature("setVars(uint256)", _num) - ); - delegateSuccessful = success; - myData = data; - } -} diff --git a/resources/regressions/all.json/mutants/118/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/118/ElimDelegateMutation/ElimDelegateMutation.sol deleted file mode 100644 index 4579f47..0000000 --- a/resources/regressions/all.json/mutants/118/ElimDelegateMutation/ElimDelegateMutation.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity ^0.8.13; - -contract B { - uint public num; - address public sender; - uint public value; - - function setVars(uint _num) public payable { - num = _num; - sender = msg.sender; - /// AssignmentMutation(`msg.value` |==> `0`) of: `value = msg.value;` - value = 0; - } -} - -contract A { - uint public num; - address public sender; - uint public value; - bool public delegateSuccessful; - bytes public myData; - - - function setVars(address _contract, uint _num) public payable { - (bool success, bytes memory data) = _contract.delegatecall( - abi.encodeWithSignature("setVars(uint256)", _num) - ); - delegateSuccessful = success; - myData = data; - } -} diff --git a/resources/regressions/all.json/mutants/119/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/119/ElimDelegateMutation/ElimDelegateMutation.sol deleted file mode 100644 index 015a6a0..0000000 --- a/resources/regressions/all.json/mutants/119/ElimDelegateMutation/ElimDelegateMutation.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity ^0.8.13; - -contract B { - uint public num; - address public sender; - uint public value; - - function setVars(uint _num) public payable { - num = _num; - sender = msg.sender; - /// AssignmentMutation(`msg.value` |==> `1`) of: `value = msg.value;` - value = 1; - } -} - -contract A { - uint public num; - address public sender; - uint public value; - bool public delegateSuccessful; - bytes public myData; - - - function setVars(address _contract, uint _num) public payable { - (bool success, bytes memory data) = _contract.delegatecall( - abi.encodeWithSignature("setVars(uint256)", _num) - ); - delegateSuccessful = success; - myData = data; - } -} diff --git a/resources/regressions/all.json/mutants/12/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/12/BinaryOpMutation/BinaryOpMutation.sol index 6a44886..e140e69 100644 --- a/resources/regressions/all.json/mutants/12/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/12/BinaryOpMutation/BinaryOpMutation.sol @@ -12,8 +12,8 @@ contract BinaryOpMutation { } function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`*` |==> `+`) of: `return x * y;` - return x+y; + /// BinaryOpMutation(`*` |==> `-`) of: `return x * y;` + return x-y; } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/121/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/121/ElimDelegateMutation/ElimDelegateMutation.sol deleted file mode 100644 index d9e3ab4..0000000 --- a/resources/regressions/all.json/mutants/121/ElimDelegateMutation/ElimDelegateMutation.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity ^0.8.13; - -contract B { - uint public num; - address public sender; - uint public value; - - function setVars(uint _num) public payable { - num = _num; - sender = msg.sender; - value = msg.value; - } -} - -contract A { - uint public num; - address public sender; - uint public value; - bool public delegateSuccessful; - bytes public myData; - - - function setVars(address _contract, uint _num) public payable { - (bool success, bytes memory data) = _contract.delegatecall( - abi.encodeWithSignature("setVars(uint256)", _num) - ); - /// AssignmentMutation(`success` |==> `true`) of: `delegateSuccessful = success;` - delegateSuccessful = true; - myData = data; - } -} diff --git a/resources/regressions/all.json/mutants/122/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/122/ElimDelegateMutation/ElimDelegateMutation.sol deleted file mode 100644 index 9d785f8..0000000 --- a/resources/regressions/all.json/mutants/122/ElimDelegateMutation/ElimDelegateMutation.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity ^0.8.13; - -contract B { - uint public num; - address public sender; - uint public value; - - function setVars(uint _num) public payable { - num = _num; - sender = msg.sender; - value = msg.value; - } -} - -contract A { - uint public num; - address public sender; - uint public value; - bool public delegateSuccessful; - bytes public myData; - - - function setVars(address _contract, uint _num) public payable { - (bool success, bytes memory data) = _contract.delegatecall( - abi.encodeWithSignature("setVars(uint256)", _num) - ); - /// AssignmentMutation(`success` |==> `false`) of: `delegateSuccessful = success;` - delegateSuccessful = false; - myData = data; - } -} diff --git a/resources/regressions/all.json/mutants/13/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/13/BinaryOpMutation/BinaryOpMutation.sol index e140e69..9311892 100644 --- a/resources/regressions/all.json/mutants/13/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/13/BinaryOpMutation/BinaryOpMutation.sol @@ -12,8 +12,8 @@ contract BinaryOpMutation { } function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`*` |==> `-`) of: `return x * y;` - return x-y; + /// BinaryOpMutation(`*` |==> `/`) of: `return x * y;` + return x/y; } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/14/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/14/BinaryOpMutation/BinaryOpMutation.sol index 9311892..271f95f 100644 --- a/resources/regressions/all.json/mutants/14/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/14/BinaryOpMutation/BinaryOpMutation.sol @@ -12,8 +12,8 @@ contract BinaryOpMutation { } function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`*` |==> `/`) of: `return x * y;` - return x/y; + /// BinaryOpMutation(`*` |==> `%`) of: `return x * y;` + return x%y; } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/15/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/15/BinaryOpMutation/BinaryOpMutation.sol index 271f95f..3f76e84 100644 --- a/resources/regressions/all.json/mutants/15/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/15/BinaryOpMutation/BinaryOpMutation.sol @@ -12,8 +12,8 @@ contract BinaryOpMutation { } function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`*` |==> `%`) of: `return x * y;` - return x%y; + /// BinaryOpMutation(`*` |==> `**`) of: `return x * y;` + return x**y; } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/16/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/16/BinaryOpMutation/BinaryOpMutation.sol index 3f76e84..eca2d8c 100644 --- a/resources/regressions/all.json/mutants/16/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/16/BinaryOpMutation/BinaryOpMutation.sol @@ -12,12 +12,12 @@ contract BinaryOpMutation { } function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`*` |==> `**`) of: `return x * y;` - return x**y; + return x * y; } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; + /// BinaryOpMutation(`/` |==> `+`) of: `return x / y;` + return x+y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/17/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/17/BinaryOpMutation/BinaryOpMutation.sol index eca2d8c..b3ae49a 100644 --- a/resources/regressions/all.json/mutants/17/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/17/BinaryOpMutation/BinaryOpMutation.sol @@ -16,8 +16,8 @@ contract BinaryOpMutation { } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `+`) of: `return x / y;` - return x+y; + /// BinaryOpMutation(`/` |==> `-`) of: `return x / y;` + return x-y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/18/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/18/BinaryOpMutation/BinaryOpMutation.sol index b3ae49a..b674b19 100644 --- a/resources/regressions/all.json/mutants/18/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/18/BinaryOpMutation/BinaryOpMutation.sol @@ -16,8 +16,8 @@ contract BinaryOpMutation { } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `-`) of: `return x / y;` - return x-y; + /// BinaryOpMutation(`/` |==> `*`) of: `return x / y;` + return x*y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/19/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/19/BinaryOpMutation/BinaryOpMutation.sol index b674b19..12f0ac7 100644 --- a/resources/regressions/all.json/mutants/19/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/19/BinaryOpMutation/BinaryOpMutation.sol @@ -16,8 +16,8 @@ contract BinaryOpMutation { } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `*`) of: `return x / y;` - return x*y; + /// BinaryOpMutation(`/` |==> `%`) of: `return x / y;` + return x%y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/20/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/20/BinaryOpMutation/BinaryOpMutation.sol index 12f0ac7..87ca38a 100644 --- a/resources/regressions/all.json/mutants/20/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/20/BinaryOpMutation/BinaryOpMutation.sol @@ -16,8 +16,8 @@ contract BinaryOpMutation { } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `%`) of: `return x / y;` - return x%y; + /// BinaryOpMutation(`/` |==> `**`) of: `return x / y;` + return x**y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/21/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/21/BinaryOpMutation/BinaryOpMutation.sol index 87ca38a..ad60708 100644 --- a/resources/regressions/all.json/mutants/21/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/21/BinaryOpMutation/BinaryOpMutation.sol @@ -16,12 +16,12 @@ contract BinaryOpMutation { } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `**`) of: `return x / y;` - return x**y; + return x / y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; + /// BinaryOpMutation(`%` |==> `+`) of: `return x % y;` + return x+y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/22/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/22/BinaryOpMutation/BinaryOpMutation.sol index fe53db9..1e8be32 100644 --- a/resources/regressions/all.json/mutants/22/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/22/BinaryOpMutation/BinaryOpMutation.sol @@ -16,12 +16,12 @@ contract BinaryOpMutation { } function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// SwapArgumentsOperatorMutation(`x / y` |==> `y / x`) of: `return x / y;` - return y / x; + return x / y; } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; + /// BinaryOpMutation(`%` |==> `-`) of: `return x % y;` + return x-y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/23/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/23/BinaryOpMutation/BinaryOpMutation.sol index ad60708..147ceef 100644 --- a/resources/regressions/all.json/mutants/23/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/23/BinaryOpMutation/BinaryOpMutation.sol @@ -20,8 +20,8 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `+`) of: `return x % y;` - return x+y; + /// BinaryOpMutation(`%` |==> `*`) of: `return x % y;` + return x*y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/24/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/24/BinaryOpMutation/BinaryOpMutation.sol index 1e8be32..630af85 100644 --- a/resources/regressions/all.json/mutants/24/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/24/BinaryOpMutation/BinaryOpMutation.sol @@ -20,8 +20,8 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `-`) of: `return x % y;` - return x-y; + /// BinaryOpMutation(`%` |==> `/`) of: `return x % y;` + return x/y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/25/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/25/BinaryOpMutation/BinaryOpMutation.sol index 147ceef..00b3bbb 100644 --- a/resources/regressions/all.json/mutants/25/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/25/BinaryOpMutation/BinaryOpMutation.sol @@ -20,8 +20,8 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `*`) of: `return x % y;` - return x*y; + /// BinaryOpMutation(`%` |==> `**`) of: `return x % y;` + return x**y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/all.json/mutants/26/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/26/BinaryOpMutation/BinaryOpMutation.sol index 630af85..e41cda7 100644 --- a/resources/regressions/all.json/mutants/26/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/26/BinaryOpMutation/BinaryOpMutation.sol @@ -20,12 +20,12 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `/`) of: `return x % y;` - return x/y; + return x % y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; + /// BinaryOpMutation(`**` |==> `+`) of: `return x ** y;` + return x+y; } } diff --git a/resources/regressions/all.json/mutants/27/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/27/BinaryOpMutation/BinaryOpMutation.sol index 00b3bbb..2027d61 100644 --- a/resources/regressions/all.json/mutants/27/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/27/BinaryOpMutation/BinaryOpMutation.sol @@ -20,12 +20,12 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `**`) of: `return x % y;` - return x**y; + return x % y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; + /// BinaryOpMutation(`**` |==> `-`) of: `return x ** y;` + return x-y; } } diff --git a/resources/regressions/all.json/mutants/28/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/28/BinaryOpMutation/BinaryOpMutation.sol index 762900c..66377db 100644 --- a/resources/regressions/all.json/mutants/28/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/28/BinaryOpMutation/BinaryOpMutation.sol @@ -20,12 +20,12 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// SwapArgumentsOperatorMutation(`x % y` |==> `y % x`) of: `return x % y;` - return y % x; + return x % y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; + /// BinaryOpMutation(`**` |==> `*`) of: `return x ** y;` + return x*y; } } diff --git a/resources/regressions/all.json/mutants/29/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/29/BinaryOpMutation/BinaryOpMutation.sol index e41cda7..d771626 100644 --- a/resources/regressions/all.json/mutants/29/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/29/BinaryOpMutation/BinaryOpMutation.sol @@ -24,8 +24,8 @@ contract BinaryOpMutation { } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `+`) of: `return x ** y;` - return x+y; + /// BinaryOpMutation(`**` |==> `/`) of: `return x ** y;` + return x/y; } } diff --git a/resources/regressions/all.json/mutants/30/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/30/BinaryOpMutation/BinaryOpMutation.sol index 2027d61..082da37 100644 --- a/resources/regressions/all.json/mutants/30/BinaryOpMutation/BinaryOpMutation.sol +++ b/resources/regressions/all.json/mutants/30/BinaryOpMutation/BinaryOpMutation.sol @@ -24,8 +24,8 @@ contract BinaryOpMutation { } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `-`) of: `return x ** y;` - return x-y; + /// BinaryOpMutation(`**` |==> `%`) of: `return x ** y;` + return x%y; } } diff --git a/resources/regressions/all.json/mutants/31/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/31/BinaryOpMutation/BinaryOpMutation.sol deleted file mode 100644 index 66377db..0000000 --- a/resources/regressions/all.json/mutants/31/BinaryOpMutation/BinaryOpMutation.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract BinaryOpMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - return x + y; - } - - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - return x * y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `*`) of: `return x ** y;` - return x*y; - } - -} diff --git a/resources/regressions/all.json/mutants/39/RequireMutation/RequireMutation.sol b/resources/regressions/all.json/mutants/31/RequireMutation/RequireMutation.sol similarity index 76% rename from resources/regressions/all.json/mutants/39/RequireMutation/RequireMutation.sol rename to resources/regressions/all.json/mutants/31/RequireMutation/RequireMutation.sol index d6c8513..0355a5c 100644 --- a/resources/regressions/all.json/mutants/39/RequireMutation/RequireMutation.sol +++ b/resources/regressions/all.json/mutants/31/RequireMutation/RequireMutation.sol @@ -4,10 +4,10 @@ pragma experimental ABIEncoderV2; contract RequireMutation { function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) { - require(cond1); - require(cond2); - /// RequireMutation(`cond3` |==> `true`) of: `require(cond3);` + /// RequireMutation(`cond1` |==> `true`) of: `require(cond1);` require(true); + require(cond2); + require(cond3); return true; } } diff --git a/resources/regressions/all.json/mutants/32/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/32/BinaryOpMutation/BinaryOpMutation.sol deleted file mode 100644 index d771626..0000000 --- a/resources/regressions/all.json/mutants/32/BinaryOpMutation/BinaryOpMutation.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract BinaryOpMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - return x + y; - } - - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - return x * y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `/`) of: `return x ** y;` - return x/y; - } - -} diff --git a/resources/regressions/all.json/mutants/40/RequireMutation/RequireMutation.sol b/resources/regressions/all.json/mutants/32/RequireMutation/RequireMutation.sol similarity index 77% rename from resources/regressions/all.json/mutants/40/RequireMutation/RequireMutation.sol rename to resources/regressions/all.json/mutants/32/RequireMutation/RequireMutation.sol index a45e446..838a0e4 100644 --- a/resources/regressions/all.json/mutants/40/RequireMutation/RequireMutation.sol +++ b/resources/regressions/all.json/mutants/32/RequireMutation/RequireMutation.sol @@ -4,10 +4,10 @@ pragma experimental ABIEncoderV2; contract RequireMutation { function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) { - require(cond1); - require(cond2); - /// RequireMutation(`cond3` |==> `false`) of: `require(cond3);` + /// RequireMutation(`cond1` |==> `false`) of: `require(cond1);` require(false); + require(cond2); + require(cond3); return true; } } diff --git a/resources/regressions/all.json/mutants/33/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/33/BinaryOpMutation/BinaryOpMutation.sol deleted file mode 100644 index 082da37..0000000 --- a/resources/regressions/all.json/mutants/33/BinaryOpMutation/BinaryOpMutation.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract BinaryOpMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - return x + y; - } - - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - return x * y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `%`) of: `return x ** y;` - return x%y; - } - -} diff --git a/resources/regressions/all.json/mutants/37/RequireMutation/RequireMutation.sol b/resources/regressions/all.json/mutants/33/RequireMutation/RequireMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/37/RequireMutation/RequireMutation.sol rename to resources/regressions/all.json/mutants/33/RequireMutation/RequireMutation.sol diff --git a/resources/regressions/all.json/mutants/34/BinaryOpMutation/BinaryOpMutation.sol b/resources/regressions/all.json/mutants/34/BinaryOpMutation/BinaryOpMutation.sol deleted file mode 100644 index cc15c8a..0000000 --- a/resources/regressions/all.json/mutants/34/BinaryOpMutation/BinaryOpMutation.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract BinaryOpMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - return x + y; - } - - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myMultiplication(uint256 x, uint256 y) public pure returns (uint256) { - return x * y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// SwapArgumentsOperatorMutation(`x ** y` |==> `y ** x`) of: `return x ** y;` - return y ** x; - } - -} diff --git a/resources/regressions/all.json/mutants/38/RequireMutation/RequireMutation.sol b/resources/regressions/all.json/mutants/34/RequireMutation/RequireMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/38/RequireMutation/RequireMutation.sol rename to resources/regressions/all.json/mutants/34/RequireMutation/RequireMutation.sol diff --git a/resources/regressions/all.json/mutants/35/RequireMutation/RequireMutation.sol b/resources/regressions/all.json/mutants/35/RequireMutation/RequireMutation.sol index 0355a5c..d6c8513 100644 --- a/resources/regressions/all.json/mutants/35/RequireMutation/RequireMutation.sol +++ b/resources/regressions/all.json/mutants/35/RequireMutation/RequireMutation.sol @@ -4,10 +4,10 @@ pragma experimental ABIEncoderV2; contract RequireMutation { function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) { - /// RequireMutation(`cond1` |==> `true`) of: `require(cond1);` - require(true); + require(cond1); require(cond2); - require(cond3); + /// RequireMutation(`cond3` |==> `true`) of: `require(cond3);` + require(true); return true; } } diff --git a/resources/regressions/all.json/mutants/36/RequireMutation/RequireMutation.sol b/resources/regressions/all.json/mutants/36/RequireMutation/RequireMutation.sol index 838a0e4..a45e446 100644 --- a/resources/regressions/all.json/mutants/36/RequireMutation/RequireMutation.sol +++ b/resources/regressions/all.json/mutants/36/RequireMutation/RequireMutation.sol @@ -4,10 +4,10 @@ pragma experimental ABIEncoderV2; contract RequireMutation { function myRequires(bool cond1, bool cond2, bool cond3) public pure returns (bool) { - /// RequireMutation(`cond1` |==> `false`) of: `require(cond1);` - require(false); + require(cond1); require(cond2); - require(cond3); + /// RequireMutation(`cond3` |==> `false`) of: `require(cond3);` + require(false); return true; } } diff --git a/resources/regressions/all.json/mutants/45/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/37/AssignmentMutation/AssignmentMutation.sol similarity index 73% rename from resources/regressions/all.json/mutants/45/AssignmentMutation/AssignmentMutation.sol rename to resources/regressions/all.json/mutants/37/AssignmentMutation/AssignmentMutation.sol index 906162c..57a31c6 100644 --- a/resources/regressions/all.json/mutants/45/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/37/AssignmentMutation/AssignmentMutation.sol @@ -10,10 +10,10 @@ contract AssignmentMutation { bool public b; constructor() { - x = 42; // original: 42 + /// AssignmentMutation(`42` |==> `0`) of: `x = 42; // original: 42` + x = 0; // original: 42 y = 13; // original: 13 - /// AssignmentMutation(`3110` |==> `0`) of: `z = 3110; // original: 3110` - z = 0; // original: 3110 + z = 3110; // original: 3110 a = true; // original: true b = false; // original: false } diff --git a/resources/regressions/all.json/mutants/46/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/38/AssignmentMutation/AssignmentMutation.sol similarity index 73% rename from resources/regressions/all.json/mutants/46/AssignmentMutation/AssignmentMutation.sol rename to resources/regressions/all.json/mutants/38/AssignmentMutation/AssignmentMutation.sol index 9944eea..7156738 100644 --- a/resources/regressions/all.json/mutants/46/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/38/AssignmentMutation/AssignmentMutation.sol @@ -10,10 +10,10 @@ contract AssignmentMutation { bool public b; constructor() { - x = 42; // original: 42 + /// AssignmentMutation(`42` |==> `1`) of: `x = 42; // original: 42` + x = 1; // original: 42 y = 13; // original: 13 - /// AssignmentMutation(`3110` |==> `1`) of: `z = 3110; // original: 3110` - z = 1; // original: 3110 + z = 3110; // original: 3110 a = true; // original: true b = false; // original: false } diff --git a/resources/regressions/all.json/mutants/47/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/39/AssignmentMutation/AssignmentMutation.sol similarity index 72% rename from resources/regressions/all.json/mutants/47/AssignmentMutation/AssignmentMutation.sol rename to resources/regressions/all.json/mutants/39/AssignmentMutation/AssignmentMutation.sol index 5b65d36..4974c0e 100644 --- a/resources/regressions/all.json/mutants/47/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/39/AssignmentMutation/AssignmentMutation.sol @@ -11,10 +11,10 @@ contract AssignmentMutation { constructor() { x = 42; // original: 42 - y = 13; // original: 13 + /// AssignmentMutation(`13` |==> `0`) of: `y = 13; // original: 13` + y = 0; // original: 13 z = 3110; // original: 3110 - /// AssignmentMutation(`true` |==> `false`) of: `a = true; // original: true` - a = false; // original: true + a = true; // original: true b = false; // original: false } } diff --git a/resources/regressions/all.json/mutants/48/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/40/AssignmentMutation/AssignmentMutation.sol similarity index 71% rename from resources/regressions/all.json/mutants/48/AssignmentMutation/AssignmentMutation.sol rename to resources/regressions/all.json/mutants/40/AssignmentMutation/AssignmentMutation.sol index 16656d4..f7cf44b 100644 --- a/resources/regressions/all.json/mutants/48/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/40/AssignmentMutation/AssignmentMutation.sol @@ -11,10 +11,10 @@ contract AssignmentMutation { constructor() { x = 42; // original: 42 - y = 13; // original: 13 + /// AssignmentMutation(`13` |==> `1`) of: `y = 13; // original: 13` + y = 1; // original: 13 z = 3110; // original: 3110 a = true; // original: true - /// AssignmentMutation(`false` |==> `true`) of: `b = false; // original: false` - b = true; // original: false + b = false; // original: false } } diff --git a/resources/regressions/all.json/mutants/41/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/41/AssignmentMutation/AssignmentMutation.sol index 57a31c6..906162c 100644 --- a/resources/regressions/all.json/mutants/41/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/41/AssignmentMutation/AssignmentMutation.sol @@ -10,10 +10,10 @@ contract AssignmentMutation { bool public b; constructor() { - /// AssignmentMutation(`42` |==> `0`) of: `x = 42; // original: 42` - x = 0; // original: 42 + x = 42; // original: 42 y = 13; // original: 13 - z = 3110; // original: 3110 + /// AssignmentMutation(`3110` |==> `0`) of: `z = 3110; // original: 3110` + z = 0; // original: 3110 a = true; // original: true b = false; // original: false } diff --git a/resources/regressions/all.json/mutants/42/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/42/AssignmentMutation/AssignmentMutation.sol index 7156738..9944eea 100644 --- a/resources/regressions/all.json/mutants/42/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/42/AssignmentMutation/AssignmentMutation.sol @@ -10,10 +10,10 @@ contract AssignmentMutation { bool public b; constructor() { - /// AssignmentMutation(`42` |==> `1`) of: `x = 42; // original: 42` - x = 1; // original: 42 + x = 42; // original: 42 y = 13; // original: 13 - z = 3110; // original: 3110 + /// AssignmentMutation(`3110` |==> `1`) of: `z = 3110; // original: 3110` + z = 1; // original: 3110 a = true; // original: true b = false; // original: false } diff --git a/resources/regressions/all.json/mutants/43/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/43/AssignmentMutation/AssignmentMutation.sol index 4974c0e..5b65d36 100644 --- a/resources/regressions/all.json/mutants/43/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/43/AssignmentMutation/AssignmentMutation.sol @@ -11,10 +11,10 @@ contract AssignmentMutation { constructor() { x = 42; // original: 42 - /// AssignmentMutation(`13` |==> `0`) of: `y = 13; // original: 13` - y = 0; // original: 13 + y = 13; // original: 13 z = 3110; // original: 3110 - a = true; // original: true + /// AssignmentMutation(`true` |==> `false`) of: `a = true; // original: true` + a = false; // original: true b = false; // original: false } } diff --git a/resources/regressions/all.json/mutants/44/AssignmentMutation/AssignmentMutation.sol b/resources/regressions/all.json/mutants/44/AssignmentMutation/AssignmentMutation.sol index f7cf44b..16656d4 100644 --- a/resources/regressions/all.json/mutants/44/AssignmentMutation/AssignmentMutation.sol +++ b/resources/regressions/all.json/mutants/44/AssignmentMutation/AssignmentMutation.sol @@ -11,10 +11,10 @@ contract AssignmentMutation { constructor() { x = 42; // original: 42 - /// AssignmentMutation(`13` |==> `1`) of: `y = 13; // original: 13` - y = 1; // original: 13 + y = 13; // original: 13 z = 3110; // original: 3110 a = true; // original: true - b = false; // original: false + /// AssignmentMutation(`false` |==> `true`) of: `b = false; // original: false` + b = true; // original: false } } diff --git a/resources/regressions/all.json/mutants/51/DeleteExpressionMutation/DeleteExpressionMutation.sol b/resources/regressions/all.json/mutants/45/DeleteExpressionMutation/DeleteExpressionMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/51/DeleteExpressionMutation/DeleteExpressionMutation.sol rename to resources/regressions/all.json/mutants/45/DeleteExpressionMutation/DeleteExpressionMutation.sol diff --git a/resources/regressions/all.json/mutants/58/IfStatementMutation/IfStatementMutation.sol b/resources/regressions/all.json/mutants/46/IfStatementMutation/IfStatementMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/58/IfStatementMutation/IfStatementMutation.sol rename to resources/regressions/all.json/mutants/46/IfStatementMutation/IfStatementMutation.sol diff --git a/resources/regressions/all.json/mutants/59/IfStatementMutation/IfStatementMutation.sol b/resources/regressions/all.json/mutants/47/IfStatementMutation/IfStatementMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/59/IfStatementMutation/IfStatementMutation.sol rename to resources/regressions/all.json/mutants/47/IfStatementMutation/IfStatementMutation.sol diff --git a/resources/regressions/all.json/mutants/71/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/48/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/71/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/48/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/49/DeleteExpressionMutation/DeleteExpressionMutation.sol b/resources/regressions/all.json/mutants/49/DeleteExpressionMutation/DeleteExpressionMutation.sol deleted file mode 100644 index 6b55800..0000000 --- a/resources/regressions/all.json/mutants/49/DeleteExpressionMutation/DeleteExpressionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract DeleteExpressionMutation { - - function myIdentity(uint256 x) public pure returns (uint256) { - uint256 result = 0; - for (uint256 i = 0; i < x; i++) { - /// UnaryOperatorMutation(`++` |==> `--`) of: `result ++;` - result --; - } - return result; - } -} diff --git a/resources/regressions/all.json/mutants/77/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/49/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/77/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/49/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/50/DeleteExpressionMutation/DeleteExpressionMutation.sol b/resources/regressions/all.json/mutants/50/DeleteExpressionMutation/DeleteExpressionMutation.sol deleted file mode 100644 index 6862f11..0000000 --- a/resources/regressions/all.json/mutants/50/DeleteExpressionMutation/DeleteExpressionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract DeleteExpressionMutation { - - function myIdentity(uint256 x) public pure returns (uint256) { - uint256 result = 0; - /// SwapArgumentsOperatorMutation(`i < x` |==> `x < i`) of: `for (uint256 i = 0; i < x; i++) {` - for (uint256 i = 0; x < i; i++) { - result ++; - } - return result; - } -} diff --git a/resources/regressions/all.json/mutants/83/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/50/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/83/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/50/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/89/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/51/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/89/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/51/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/52/DeleteExpressionMutation/DeleteExpressionMutation.sol b/resources/regressions/all.json/mutants/52/DeleteExpressionMutation/DeleteExpressionMutation.sol deleted file mode 100644 index 1e3ff78..0000000 --- a/resources/regressions/all.json/mutants/52/DeleteExpressionMutation/DeleteExpressionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract DeleteExpressionMutation { - - function myIdentity(uint256 x) public pure returns (uint256) { - uint256 result = 0; - /// UnaryOperatorMutation(`++` |==> `--`) of: `for (uint256 i = 0; i < x; i++) {` - for (uint256 i = 0; i < x; i--) { - result ++; - } - return result; - } -} diff --git a/resources/regressions/all.json/mutants/90/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/52/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/90/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/52/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/53/FunctionCallMutation/FunctionCallMutation.sol b/resources/regressions/all.json/mutants/53/FunctionCallMutation/FunctionCallMutation.sol deleted file mode 100644 index df96652..0000000 --- a/resources/regressions/all.json/mutants/53/FunctionCallMutation/FunctionCallMutation.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract FunctionCallMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`+` |==> `-`) of: `return x + y;` - return x-y; - } - - function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) { - return myAddition(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/91/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/53/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/91/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/53/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/54/FunctionCallMutation/FunctionCallMutation.sol b/resources/regressions/all.json/mutants/54/FunctionCallMutation/FunctionCallMutation.sol deleted file mode 100644 index c279270..0000000 --- a/resources/regressions/all.json/mutants/54/FunctionCallMutation/FunctionCallMutation.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract FunctionCallMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`+` |==> `*`) of: `return x + y;` - return x*y; - } - - function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) { - return myAddition(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/92/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/54/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/92/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/54/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/55/FunctionCallMutation/FunctionCallMutation.sol b/resources/regressions/all.json/mutants/55/FunctionCallMutation/FunctionCallMutation.sol deleted file mode 100644 index b006ff4..0000000 --- a/resources/regressions/all.json/mutants/55/FunctionCallMutation/FunctionCallMutation.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract FunctionCallMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`+` |==> `/`) of: `return x + y;` - return x/y; - } - - function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) { - return myAddition(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/93/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/55/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/93/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/55/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/56/FunctionCallMutation/FunctionCallMutation.sol b/resources/regressions/all.json/mutants/56/FunctionCallMutation/FunctionCallMutation.sol deleted file mode 100644 index beeab02..0000000 --- a/resources/regressions/all.json/mutants/56/FunctionCallMutation/FunctionCallMutation.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract FunctionCallMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`+` |==> `%`) of: `return x + y;` - return x%y; - } - - function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) { - return myAddition(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/100/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/56/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/100/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/56/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/57/FunctionCallMutation/FunctionCallMutation.sol b/resources/regressions/all.json/mutants/57/FunctionCallMutation/FunctionCallMutation.sol deleted file mode 100644 index 1200751..0000000 --- a/resources/regressions/all.json/mutants/57/FunctionCallMutation/FunctionCallMutation.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract FunctionCallMutation { - function myAddition(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`+` |==> `**`) of: `return x + y;` - return x**y; - } - - function myOtherAddition(uint256 x, uint256 y) public pure returns (uint256) { - return myAddition(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/107/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/57/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/107/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol rename to resources/regressions/all.json/mutants/57/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/108/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/58/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/108/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/58/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/109/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/59/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/109/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/59/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/60/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol b/resources/regressions/all.json/mutants/60/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol deleted file mode 100644 index ce76f84..0000000 --- a/resources/regressions/all.json/mutants/60/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsFunctionMutation { - - function foo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `+`) of: `return x - y;` - return x+y; - } - - function bar(uint256 x, uint256 y) public pure returns (uint256) { - return foo(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/110/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/60/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/110/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/60/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/61/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol b/resources/regressions/all.json/mutants/61/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol deleted file mode 100644 index 13bf06f..0000000 --- a/resources/regressions/all.json/mutants/61/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsFunctionMutation { - - function foo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `*`) of: `return x - y;` - return x*y; - } - - function bar(uint256 x, uint256 y) public pure returns (uint256) { - return foo(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/111/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/61/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/111/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/61/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/62/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol b/resources/regressions/all.json/mutants/62/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol deleted file mode 100644 index 85f15a6..0000000 --- a/resources/regressions/all.json/mutants/62/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsFunctionMutation { - - function foo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `/`) of: `return x - y;` - return x/y; - } - - function bar(uint256 x, uint256 y) public pure returns (uint256) { - return foo(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/112/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/62/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/112/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/62/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/63/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol b/resources/regressions/all.json/mutants/63/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol deleted file mode 100644 index 2b58dc0..0000000 --- a/resources/regressions/all.json/mutants/63/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsFunctionMutation { - - function foo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `%`) of: `return x - y;` - return x%y; - } - - function bar(uint256 x, uint256 y) public pure returns (uint256) { - return foo(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/113/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/63/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/113/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/63/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/64/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol b/resources/regressions/all.json/mutants/64/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol deleted file mode 100644 index ade07b4..0000000 --- a/resources/regressions/all.json/mutants/64/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsFunctionMutation { - - function foo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `**`) of: `return x - y;` - return x**y; - } - - function bar(uint256 x, uint256 y) public pure returns (uint256) { - return foo(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/114/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/64/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/114/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/64/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/65/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol b/resources/regressions/all.json/mutants/65/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol deleted file mode 100644 index b39fa6a..0000000 --- a/resources/regressions/all.json/mutants/65/SwapArgumentsFunctionMutation/SwapArgumentsFunctionMutation.sol +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsFunctionMutation { - - function foo(uint256 x, uint256 y) public pure returns (uint256) { - /// SwapArgumentsOperatorMutation(`x - y` |==> `y - x`) of: `return x - y;` - return y - x; - } - - function bar(uint256 x, uint256 y) public pure returns (uint256) { - return foo(x, y); - } -} diff --git a/resources/regressions/all.json/mutants/115/UnaryOperatorMutation/UnaryOperatorMutation.sol b/resources/regressions/all.json/mutants/65/UnaryOperatorMutation/UnaryOperatorMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/115/UnaryOperatorMutation/UnaryOperatorMutation.sol rename to resources/regressions/all.json/mutants/65/UnaryOperatorMutation/UnaryOperatorMutation.sol diff --git a/resources/regressions/all.json/mutants/120/ElimDelegateMutation/ElimDelegateMutation.sol b/resources/regressions/all.json/mutants/66/ElimDelegateMutation/ElimDelegateMutation.sol similarity index 100% rename from resources/regressions/all.json/mutants/120/ElimDelegateMutation/ElimDelegateMutation.sol rename to resources/regressions/all.json/mutants/66/ElimDelegateMutation/ElimDelegateMutation.sol diff --git a/resources/regressions/all.json/mutants/66/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/66/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index da39407..0000000 --- a/resources/regressions/all.json/mutants/66/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `+`) of: `return x - y;` - return x+y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/67/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/67/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 529328b..0000000 --- a/resources/regressions/all.json/mutants/67/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `*`) of: `return x - y;` - return x*y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/68/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/68/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 7116fe9..0000000 --- a/resources/regressions/all.json/mutants/68/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `/`) of: `return x - y;` - return x/y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/69/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/69/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 7a01d89..0000000 --- a/resources/regressions/all.json/mutants/69/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `%`) of: `return x - y;` - return x%y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/70/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/70/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 75262dd..0000000 --- a/resources/regressions/all.json/mutants/70/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`-` |==> `**`) of: `return x - y;` - return x**y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/72/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/72/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index a027059..0000000 --- a/resources/regressions/all.json/mutants/72/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `+`) of: `return x / y;` - return x+y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/73/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/73/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 5513e59..0000000 --- a/resources/regressions/all.json/mutants/73/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `-`) of: `return x / y;` - return x-y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/74/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/74/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 0686c14..0000000 --- a/resources/regressions/all.json/mutants/74/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `*`) of: `return x / y;` - return x*y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/75/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/75/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index fb1754c..0000000 --- a/resources/regressions/all.json/mutants/75/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `%`) of: `return x / y;` - return x%y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/76/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/76/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index f37dced..0000000 --- a/resources/regressions/all.json/mutants/76/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`/` |==> `**`) of: `return x / y;` - return x**y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/78/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/78/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index fe5a39f..0000000 --- a/resources/regressions/all.json/mutants/78/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `+`) of: `return x % y;` - return x+y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/79/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/79/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index d5dde04..0000000 --- a/resources/regressions/all.json/mutants/79/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `-`) of: `return x % y;` - return x-y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/80/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/80/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 2b5d9c5..0000000 --- a/resources/regressions/all.json/mutants/80/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `*`) of: `return x % y;` - return x*y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/81/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/81/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 6a7b721..0000000 --- a/resources/regressions/all.json/mutants/81/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `/`) of: `return x % y;` - return x/y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/82/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/82/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index ab4ade9..0000000 --- a/resources/regressions/all.json/mutants/82/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `**`) of: `return x % y;` - return x**y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/84/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/84/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index a244526..0000000 --- a/resources/regressions/all.json/mutants/84/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `+`) of: `return x ** y;` - return x+y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/85/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/85/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 73886fe..0000000 --- a/resources/regressions/all.json/mutants/85/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `-`) of: `return x ** y;` - return x-y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/86/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/86/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index e31ba84..0000000 --- a/resources/regressions/all.json/mutants/86/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `*`) of: `return x ** y;` - return x*y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/87/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/87/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 27b0042..0000000 --- a/resources/regressions/all.json/mutants/87/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `/`) of: `return x ** y;` - return x/y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/88/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/88/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 0e54ce2..0000000 --- a/resources/regressions/all.json/mutants/88/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`**` |==> `%`) of: `return x ** y;` - return x%y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - return x << y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/94/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/94/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 506840c..0000000 --- a/resources/regressions/all.json/mutants/94/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`<<` |==> `+`) of: `return x << y;` - return x+y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/95/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/95/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index f94393a..0000000 --- a/resources/regressions/all.json/mutants/95/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`<<` |==> `-`) of: `return x << y;` - return x-y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/96/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/96/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 6216f57..0000000 --- a/resources/regressions/all.json/mutants/96/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`<<` |==> `*`) of: `return x << y;` - return x*y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/97/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/97/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 8eca16b..0000000 --- a/resources/regressions/all.json/mutants/97/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`<<` |==> `/`) of: `return x << y;` - return x/y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/98/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/98/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index 43710cc..0000000 --- a/resources/regressions/all.json/mutants/98/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`<<` |==> `%`) of: `return x << y;` - return x%y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/all.json/mutants/99/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol b/resources/regressions/all.json/mutants/99/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol deleted file mode 100644 index fdbf3f7..0000000 --- a/resources/regressions/all.json/mutants/99/SwapArgumentsOperatorMutation/SwapArgumentsOperatorMutation.sol +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only -pragma solidity >0.7.0; -pragma experimental ABIEncoderV2; - -contract SwapArgumentsOperatorMutation { - function mySubtraction(uint256 x, uint256 y) public pure returns (uint256) { - return x - y; - } - - function myDivision(uint256 x, uint256 y) public pure returns (uint256) { - return x / y; - } - - function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - return x % y; - } - - function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { - return x ** y; - } - - function myGT(uint256 x, uint256 y) public pure returns (bool) { - return x > y; - } - - function myLT(uint256 x, uint256 y) public pure returns (bool) { - return x < y; - } - - function myGE(uint256 x, uint256 y) public pure returns (bool) { - return x >= y; - } - - function myLE(uint256 x, uint256 y) public pure returns (bool) { - return x <= y; - } - - function mySAL(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`<<` |==> `**`) of: `return x << y;` - return x**y; - } - - function mySAR(uint256 x, uint256 y) public pure returns (uint256) { - return x >> y; - } -} diff --git a/resources/regressions/sanity-config.json/gambit_results.json b/resources/regressions/sanity-config.json/gambit_results.json index b4f08b8..3958608 100644 --- a/resources/regressions/sanity-config.json/gambit_results.json +++ b/resources/regressions/sanity-config.json/gambit_results.json @@ -1,7 +1,7 @@ [ { "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `*`) of: `return x % y;`\n+\treturn x*y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", + "diff": "--- original\n+++ mutant\n@@ -20,7 +20,8 @@\n }\n \n function myModulo(uint256 x, uint256 y) public pure returns (uint256) {\n-\treturn x % y;\n+\t/// BinaryOpMutation(`%` |==> `-`) of: `return x % y;`\n+\treturn x-y;\n }\n \n function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) {\n", "id": "1", "name": "mutants/1/BinaryOpMutation.sol", "original": "BinaryOpMutation.sol", diff --git a/resources/regressions/sanity-config.json/mutants.log b/resources/regressions/sanity-config.json/mutants.log index b54c705..35b1539 100644 --- a/resources/regressions/sanity-config.json/mutants.log +++ b/resources/regressions/sanity-config.json/mutants.log @@ -1 +1 @@ -1,BinaryOpMutation,BinaryOpMutation.sol,23:10, % ,* +1,BinaryOpMutation,BinaryOpMutation.sol,23:10, % ,- diff --git a/resources/regressions/sanity-config.json/mutants/1/BinaryOpMutation.sol b/resources/regressions/sanity-config.json/mutants/1/BinaryOpMutation.sol index 147ceef..1e8be32 100644 --- a/resources/regressions/sanity-config.json/mutants/1/BinaryOpMutation.sol +++ b/resources/regressions/sanity-config.json/mutants/1/BinaryOpMutation.sol @@ -20,8 +20,8 @@ contract BinaryOpMutation { } function myModulo(uint256 x, uint256 y) public pure returns (uint256) { - /// BinaryOpMutation(`%` |==> `*`) of: `return x % y;` - return x*y; + /// BinaryOpMutation(`%` |==> `-`) of: `return x % y;` + return x-y; } function myExponentiation(uint256 x, uint256 y) public pure returns (uint256) { diff --git a/resources/regressions/test4.json/gambit_results.json b/resources/regressions/test4.json/gambit_results.json index b0b6e38..612d8c1 100644 --- a/resources/regressions/test4.json/gambit_results.json +++ b/resources/regressions/test4.json/gambit_results.json @@ -40,103 +40,5 @@ "id": "6", "name": "mutants/6/10Power/TenPower.sol", "original": "10Power/TenPower.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function add(int8 a, int8 b) public pure returns (int8) {\n- return a + b;\n+ /// BinaryOpMutation(`+` |==> `-`) of: `return a + b;`\n+ return a-b;\n }\n }\n \n", - "id": "7", - "name": "mutants/7/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function add(int8 a, int8 b) public pure returns (int8) {\n- return a + b;\n+ /// BinaryOpMutation(`+` |==> `*`) of: `return a + b;`\n+ return a*b;\n }\n }\n \n", - "id": "8", - "name": "mutants/8/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function add(int8 a, int8 b) public pure returns (int8) {\n- return a + b;\n+ /// BinaryOpMutation(`+` |==> `/`) of: `return a + b;`\n+ return a/b;\n }\n }\n \n", - "id": "9", - "name": "mutants/9/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -8,7 +8,8 @@\n }\n \n function add(int8 a, int8 b) public pure returns (int8) {\n- return a + b;\n+ /// BinaryOpMutation(`+` |==> `%`) of: `return a + b;`\n+ return a%b;\n }\n }\n \n", - "id": "10", - "name": "mutants/10/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n \n function get10PowerDecimals(uint8 decimals) public pure returns (uint256) {\n uint256 a = 10;\n- uint256 res = a ** decimals;\n+ /// BinaryOpMutation(`**` |==> `+`) of: `uint256 res = a ** decimals;`\n+ uint256 res = a+decimals;\n return res;\n }\n \n", - "id": "11", - "name": "mutants/11/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n \n function get10PowerDecimals(uint8 decimals) public pure returns (uint256) {\n uint256 a = 10;\n- uint256 res = a ** decimals;\n+ /// BinaryOpMutation(`**` |==> `-`) of: `uint256 res = a ** decimals;`\n+ uint256 res = a-decimals;\n return res;\n }\n \n", - "id": "12", - "name": "mutants/12/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n \n function get10PowerDecimals(uint8 decimals) public pure returns (uint256) {\n uint256 a = 10;\n- uint256 res = a ** decimals;\n+ /// BinaryOpMutation(`**` |==> `*`) of: `uint256 res = a ** decimals;`\n+ uint256 res = a*decimals;\n return res;\n }\n \n", - "id": "13", - "name": "mutants/13/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n \n function get10PowerDecimals(uint8 decimals) public pure returns (uint256) {\n uint256 a = 10;\n- uint256 res = a ** decimals;\n+ /// BinaryOpMutation(`**` |==> `/`) of: `uint256 res = a ** decimals;`\n+ uint256 res = a/decimals;\n return res;\n }\n \n", - "id": "14", - "name": "mutants/14/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n \n function get10PowerDecimals(uint8 decimals) public pure returns (uint256) {\n uint256 a = 10;\n- uint256 res = a ** decimals;\n+ /// BinaryOpMutation(`**` |==> `%`) of: `uint256 res = a ** decimals;`\n+ uint256 res = a%decimals;\n return res;\n }\n \n", - "id": "15", - "name": "mutants/15/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "SwapArgumentsOperatorMutation", - "diff": "--- original\n+++ mutant\n@@ -21,7 +21,8 @@\n \n function get10PowerDecimals(uint8 decimals) public pure returns (uint256) {\n uint256 a = 10;\n- uint256 res = a ** decimals;\n+ /// SwapArgumentsOperatorMutation(`a ** decimals` |==> `decimals ** a`) of: `uint256 res = a ** decimals;`\n+ uint256 res = decimals ** a;\n return res;\n }\n \n", - "id": "16", - "name": "mutants/16/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -35,6 +35,7 @@\n }\n \n function add(int8 c, int8 d) public pure returns (int8) {\n- return c + d;\n+ /// BinaryOpMutation(`+` |==> `-`) of: `return c + d;`\n+ return c-d;\n }\n }\n", - "id": "17", - "name": "mutants/17/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -35,6 +35,7 @@\n }\n \n function add(int8 c, int8 d) public pure returns (int8) {\n- return c + d;\n+ /// BinaryOpMutation(`+` |==> `*`) of: `return c + d;`\n+ return c*d;\n }\n }\n", - "id": "18", - "name": "mutants/18/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -35,6 +35,7 @@\n }\n \n function add(int8 c, int8 d) public pure returns (int8) {\n- return c + d;\n+ /// BinaryOpMutation(`+` |==> `/`) of: `return c + d;`\n+ return c/d;\n }\n }\n", - "id": "19", - "name": "mutants/19/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", - }, - { - "description": "BinaryOpMutation", - "diff": "--- original\n+++ mutant\n@@ -35,6 +35,7 @@\n }\n \n function add(int8 c, int8 d) public pure returns (int8) {\n- return c + d;\n+ /// BinaryOpMutation(`+` |==> `%`) of: `return c + d;`\n+ return c%d;\n }\n }\n", - "id": "20", - "name": "mutants/20/MultipleContracts/C.sol", - "original": "MultipleContracts/C.sol", } ] \ No newline at end of file diff --git a/resources/regressions/test4.json/mutants.log b/resources/regressions/test4.json/mutants.log index 34bcfca..8257640 100644 --- a/resources/regressions/test4.json/mutants.log +++ b/resources/regressions/test4.json/mutants.log @@ -4,17 +4,3 @@ 4,BinaryOpMutation,10Power/TenPower.sol,8:24, ** ,/ 5,BinaryOpMutation,10Power/TenPower.sol,8:24, ** ,% 6,SwapArgumentsOperatorMutation,10Power/TenPower.sol,8:23,a ** decimals,decimals ** a -7,BinaryOpMutation,MultipleContracts/C.sol,11:17, + ,- -8,BinaryOpMutation,MultipleContracts/C.sol,11:17, + ,* -9,BinaryOpMutation,MultipleContracts/C.sol,11:17, + ,/ -10,BinaryOpMutation,MultipleContracts/C.sol,11:17, + ,% -11,BinaryOpMutation,MultipleContracts/C.sol,24:24, ** ,+ -12,BinaryOpMutation,MultipleContracts/C.sol,24:24, ** ,- -13,BinaryOpMutation,MultipleContracts/C.sol,24:24, ** ,* -14,BinaryOpMutation,MultipleContracts/C.sol,24:24, ** ,/ -15,BinaryOpMutation,MultipleContracts/C.sol,24:24, ** ,% -16,SwapArgumentsOperatorMutation,MultipleContracts/C.sol,24:23,a ** decimals,decimals ** a -17,BinaryOpMutation,MultipleContracts/C.sol,38:17, + ,- -18,BinaryOpMutation,MultipleContracts/C.sol,38:17, + ,* -19,BinaryOpMutation,MultipleContracts/C.sol,38:17, + ,/ -20,BinaryOpMutation,MultipleContracts/C.sol,38:17, + ,% diff --git a/resources/regressions/test4.json/mutants/10/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/10/MultipleContracts/C.sol deleted file mode 100644 index 530045e..0000000 --- a/resources/regressions/test4.json/mutants/10/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `%`) of: `return a + b;` - return a%b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/11/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/11/MultipleContracts/C.sol deleted file mode 100644 index 59da228..0000000 --- a/resources/regressions/test4.json/mutants/11/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - /// BinaryOpMutation(`**` |==> `+`) of: `uint256 res = a ** decimals;` - uint256 res = a+decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/12/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/12/MultipleContracts/C.sol deleted file mode 100644 index 911e098..0000000 --- a/resources/regressions/test4.json/mutants/12/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - /// BinaryOpMutation(`**` |==> `-`) of: `uint256 res = a ** decimals;` - uint256 res = a-decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/13/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/13/MultipleContracts/C.sol deleted file mode 100644 index 53ca08b..0000000 --- a/resources/regressions/test4.json/mutants/13/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - /// BinaryOpMutation(`**` |==> `*`) of: `uint256 res = a ** decimals;` - uint256 res = a*decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/14/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/14/MultipleContracts/C.sol deleted file mode 100644 index 218d97b..0000000 --- a/resources/regressions/test4.json/mutants/14/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - /// BinaryOpMutation(`**` |==> `/`) of: `uint256 res = a ** decimals;` - uint256 res = a/decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/15/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/15/MultipleContracts/C.sol deleted file mode 100644 index 98a4b5f..0000000 --- a/resources/regressions/test4.json/mutants/15/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - /// BinaryOpMutation(`**` |==> `%`) of: `uint256 res = a ** decimals;` - uint256 res = a%decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/16/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/16/MultipleContracts/C.sol deleted file mode 100644 index 55b45bf..0000000 --- a/resources/regressions/test4.json/mutants/16/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - /// SwapArgumentsOperatorMutation(`a ** decimals` |==> `decimals ** a`) of: `uint256 res = a ** decimals;` - uint256 res = decimals ** a; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/17/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/17/MultipleContracts/C.sol deleted file mode 100644 index 6568d8b..0000000 --- a/resources/regressions/test4.json/mutants/17/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `-`) of: `return c + d;` - return c-d; - } -} diff --git a/resources/regressions/test4.json/mutants/18/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/18/MultipleContracts/C.sol deleted file mode 100644 index b4f749d..0000000 --- a/resources/regressions/test4.json/mutants/18/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `*`) of: `return c + d;` - return c*d; - } -} diff --git a/resources/regressions/test4.json/mutants/19/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/19/MultipleContracts/C.sol deleted file mode 100644 index 206e0f6..0000000 --- a/resources/regressions/test4.json/mutants/19/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `/`) of: `return c + d;` - return c/d; - } -} diff --git a/resources/regressions/test4.json/mutants/20/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/20/MultipleContracts/C.sol deleted file mode 100644 index 2d95fad..0000000 --- a/resources/regressions/test4.json/mutants/20/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - return a + b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `%`) of: `return c + d;` - return c%d; - } -} diff --git a/resources/regressions/test4.json/mutants/7/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/7/MultipleContracts/C.sol deleted file mode 100644 index a514961..0000000 --- a/resources/regressions/test4.json/mutants/7/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `-`) of: `return a + b;` - return a-b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/8/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/8/MultipleContracts/C.sol deleted file mode 100644 index b85149e..0000000 --- a/resources/regressions/test4.json/mutants/8/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `*`) of: `return a + b;` - return a*b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/resources/regressions/test4.json/mutants/9/MultipleContracts/C.sol b/resources/regressions/test4.json/mutants/9/MultipleContracts/C.sol deleted file mode 100644 index a5819d3..0000000 --- a/resources/regressions/test4.json/mutants/9/MultipleContracts/C.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -pragma solidity ^0.8.13; - -library Utils { - function getarray(address[] memory c, address e) internal pure { - assert(c[0] == e); - } - - function add(int8 a, int8 b) public pure returns (int8) { - /// BinaryOpMutation(`+` |==> `/`) of: `return a + b;` - return a/b; - } -} - -contract C { - function foo() external view returns (address[] memory) { - address[] memory a = new address[](1); - a[0] = msg.sender; - return a; - } - - function get10PowerDecimals(uint8 decimals) public pure returns (uint256) { - uint256 a = 10; - uint256 res = a ** decimals; - return res; - } - - function getarray(address[] memory c, address e) public pure { - assert(c[0] == e); - } - - function callmyself() external view { - address[] memory b = this.foo(); - Utils.getarray(b, address(this)); - } - - function add(int8 c, int8 d) public pure returns (int8) { - return c + d; - } -} diff --git a/scripts/run_regressions.sh b/scripts/run_regressions.sh index 00f6a00..a2aa267 100644 --- a/scripts/run_regressions.sh +++ b/scripts/run_regressions.sh @@ -31,7 +31,13 @@ echo "regressions: $REGRESSIONS" echo "No regressions exist!" } +passed=() +failed=() echo "Running tests..." +cd "$GAMBIT" || { + echo "Error: couldn't cd $GAMBIT" + exit 1 +} for conf_path in "$CONFIGS"/*; do echo echo @@ -40,23 +46,37 @@ for conf_path in "$CONFIGS"/*; do conf=$(basename "$conf_path") regression_dir="$REGRESSIONS"/"$conf" - ( - cd "$GAMBIT" || { - echo "Error: couldn't cd $GAMBIT" - exit 1 - } - printf " \033[1mRunning:\033[0m %s\n" "gambit mutate --json $conf_path" - stdout="$(cargo run -- mutate --json "$conf_path")" - printf " \033[1mGambit Output:\033[0m '\033[3m%s\033[0m'\n" "$stdout" - printf " \033[1mDiffing\033[0m gambit_out and %s\n" "$regression_dir" - bash "$SCRIPTS"/remove_sourceroots.sh gambit_out/gambit_results.json - if diff -r gambit_out "$regression_dir"; then - printf " \033[92mSUCCESS\033[0m\n" - else - printf " \033[91mFAILED:\033[0m %s\n" "$conf" - exit 1 - fi - rm -rf gambit_out - ) + printf " \033[1mRunning:\033[0m %s\n" "gambit mutate --json $conf_path" + stdout="$(cargo run -- mutate --json "$conf_path")" + printf " \033[1mGambit Output:\033[0m '\033[3m%s\033[0m'\n" "$stdout" + printf " \033[1mDiffing\033[0m gambit_out and %s\n" "$regression_dir" + bash "$SCRIPTS"/remove_sourceroots.sh gambit_out/gambit_results.json + if diff -q -r gambit_out "$regression_dir"; then + printf " \033[92mSUCCESS\033[0m\n" + passed+=("$conf") + else + printf " \033[91mFAILED:\033[0m %s\n" "$conf" + failed+=("$conf") + fi + rm -rf gambit_out + +done + +printf "\n\n\033[96mREGRESSION SUMMARY\033[0m\n" +printf "\033[96m==================\033[0m\n\n" + +printf "\033[92mPassed:\033[0m %s of %s tests\n" ${#passed[@]} $((${#failed[@]} + ${#passed[@]})) +printf "\033[92m-------\033[0m\n" + +for conf in "${passed[@]}"; do + printf "\033[92m[+]\033[0m %s\n" "$conf" +done + +printf "\n" + +printf "\033[91mFailed:\033[0m %s of %s tests\n" ${#failed[@]} $((${#failed[@]} + ${#passed[@]})) +printf "\033[91m-------\033[0m\n" +for conf in "${failed[@]}"; do + printf "\033[91m[-]\033[0m %s\n" "$conf" done diff --git a/src/mutation.rs b/src/mutation.rs index a1744af..bf145f7 100644 --- a/src/mutation.rs +++ b/src/mutation.rs @@ -128,30 +128,30 @@ pub trait Mutation { #[derive(Hash, Eq, PartialEq, Clone, Copy, Debug, ValueEnum, Deserialize, Serialize)] pub enum MutationType { AssignmentMutation, - BinOpMutation, + BinaryOpMutation, DeleteExpressionMutation, ElimDelegateMutation, FunctionCallMutation, - IfCondMutation, + IfStatementMutation, RequireMutation, SwapArgumentsFunctionMutation, SwapArgumentsOperatorMutation, - UnOpMutation, + UnaryOperatorMutation, } impl ToString for MutationType { fn to_string(&self) -> String { let str = match self { MutationType::AssignmentMutation => "AssignmentMutation", - MutationType::BinOpMutation => "BinaryOpMutation", + MutationType::BinaryOpMutation => "BinaryOpMutation", MutationType::DeleteExpressionMutation => "DeleteExpressionMutation", MutationType::ElimDelegateMutation => "ElimDelegateMutation", MutationType::FunctionCallMutation => "FunctionCallMutation", - MutationType::IfCondMutation => "IfStatementMutation", + MutationType::IfStatementMutation => "IfStatementMutation", MutationType::RequireMutation => "RequireMutation", MutationType::SwapArgumentsFunctionMutation => "SwapArgumentsFunctionMutation", MutationType::SwapArgumentsOperatorMutation => "SwapArgumentsOperatorMutation", - MutationType::UnOpMutation => "UnaryOperatorMutation", + MutationType::UnaryOperatorMutation => "UnaryOperatorMutation", }; str.into() } @@ -165,7 +165,7 @@ impl Mutation for MutationType { return n == "Assignment"; } } - MutationType::BinOpMutation => { + MutationType::BinaryOpMutation => { if let Some(n) = node.node_type() { return n == "BinaryOperation"; } @@ -196,7 +196,7 @@ impl Mutation for MutationType { return n == "FunctionCall" && !node.arguments().is_empty(); } } - MutationType::IfCondMutation => { + MutationType::IfStatementMutation => { if let Some(n) = node.node_type() { return n == "IfStatement"; } @@ -231,7 +231,7 @@ impl Mutation for MutationType { ); } } - MutationType::UnOpMutation => { + MutationType::UnaryOperatorMutation => { if let Some(n) = node.node_type() { return n == "UnaryOperation"; } @@ -278,7 +278,7 @@ impl Mutation for MutationType { .map(|r| Mutant::new(source.clone(), *self, s, e, r.to_string())) .collect() } - MutationType::BinOpMutation => { + MutationType::BinaryOpMutation => { let orig = node.operator().unwrap(); let orig = String::from(orig.trim()); @@ -324,7 +324,7 @@ impl Mutation for MutationType { vec![] // For now I'm removing this operator: not sure what it does! } - MutationType::IfCondMutation => { + MutationType::IfStatementMutation => { let cond = node.condition(); let orig = cond.get_text(source.contents()); let bs: Vec<&str> = vec!["true", "false"] @@ -399,7 +399,7 @@ impl Mutation for MutationType { vec![Mutant::new(source.clone(), *self, start, end, repl)] } - MutationType::UnOpMutation => { + MutationType::UnaryOperatorMutation => { let prefix_ops = vec!["++", "--", "~"]; let suffix_ops = vec!["++", "--"]; @@ -433,15 +433,15 @@ impl MutationType { pub fn default_mutation_operators() -> Vec { vec![ MutationType::AssignmentMutation, - MutationType::BinOpMutation, + MutationType::BinaryOpMutation, MutationType::DeleteExpressionMutation, MutationType::ElimDelegateMutation, MutationType::FunctionCallMutation, - MutationType::IfCondMutation, + MutationType::IfStatementMutation, MutationType::RequireMutation, // MutationType::SwapArgumentsFunctionMutation, MutationType::SwapArgumentsOperatorMutation, - MutationType::UnOpMutation, + MutationType::UnaryOperatorMutation, ] } } @@ -525,7 +525,7 @@ mod test { #[test] pub fn test_binary_op_mutation() -> Result<(), Box> { - let ops = vec![BinOpMutation]; + let ops = vec![BinaryOpMutation]; let repls = vec!["+", "-", "*", "/", "%", "**"]; // Closure to drop the given operator for he set of replacements let without = |s: &str| { @@ -609,7 +609,7 @@ contract A { #[test] pub fn test_if_statement_mutation() -> Result<(), Box> { - let ops = vec![IfCondMutation]; + let ops = vec![IfStatementMutation]; assert_num_mutants_for_statements( &vec!["uint256 x;", "if (true) { x = 1; } else { x = 2 ;}"], &ops, @@ -634,7 +634,7 @@ contract A { #[test] pub fn test_unary_op_mutation() -> Result<(), Box> { - let ops = vec![UnOpMutation]; + let ops = vec![UnaryOperatorMutation]; let prefix = vec!["++", "--", "~"]; let suffix = vec!["++", "--"]; diff --git a/src/mutator.rs b/src/mutator.rs index c6092b3..6d05831 100644 --- a/src/mutator.rs +++ b/src/mutator.rs @@ -2,6 +2,7 @@ use crate::{ default_gambit_output_directory, mutation::MutationType, source::Source, Mutant, MutantWriter, MutateParams, Mutation, SolAST, SolASTVisitor, Solc, }; +use clap::ValueEnum; use std::{error, path::PathBuf, rc::Rc}; use tempfile::{tempdir, NamedTempFile}; @@ -25,8 +26,18 @@ pub struct MutatorConf { impl From<&MutateParams> for MutatorConf { fn from(mutate_params: &MutateParams) -> Self { + let mutation_operators = if let Some(ops) = &mutate_params.mutations { + ops.iter() + .map(|op| { + MutationType::from_str(op.as_str(), true) + .unwrap_or_else(|_| panic!("Unrecognized mutation operator {op}")) + }) + .collect() + } else { + MutationType::default_mutation_operators() + }; MutatorConf { - mutation_operators: MutationType::default_mutation_operators(), + mutation_operators, funcs_to_mutate: mutate_params.functions.clone(), contract: mutate_params.contract.clone(), } diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index e04adaa..a36f006 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -12,7 +12,6 @@ fn test_all() { assert_exact_mutants_from_json( "all.json", &vec![ - // BinaryOpMutation.sol ("BinaryOpMutation", "+", "-", (7, 10)), ("BinaryOpMutation", "+", "*", (7, 10)), ("BinaryOpMutation", "+", "/", (7, 10)), @@ -23,7 +22,6 @@ fn test_all() { ("BinaryOpMutation", "-", "/", (11, 10)), ("BinaryOpMutation", "-", "%", (11, 10)), ("BinaryOpMutation", "-", "**", (11, 10)), - ("SwapArgumentsOperatorMutation", "x - y", "y - x", (11, 9)), ("BinaryOpMutation", "*", "+", (15, 10)), ("BinaryOpMutation", "*", "-", (15, 10)), ("BinaryOpMutation", "*", "/", (15, 10)), @@ -34,27 +32,22 @@ fn test_all() { ("BinaryOpMutation", "/", "*", (19, 10)), ("BinaryOpMutation", "/", "%", (19, 10)), ("BinaryOpMutation", "/", "**", (19, 10)), - ("SwapArgumentsOperatorMutation", "x / y", "y / x", (19, 9)), ("BinaryOpMutation", "%", "+", (23, 10)), ("BinaryOpMutation", "%", "-", (23, 10)), ("BinaryOpMutation", "%", "*", (23, 10)), ("BinaryOpMutation", "%", "/", (23, 10)), ("BinaryOpMutation", "%", "**", (23, 10)), - ("SwapArgumentsOperatorMutation", "x % y", "y % x", (23, 9)), ("BinaryOpMutation", "**", "+", (27, 10)), ("BinaryOpMutation", "**", "-", (27, 10)), ("BinaryOpMutation", "**", "*", (27, 10)), ("BinaryOpMutation", "**", "/", (27, 10)), ("BinaryOpMutation", "**", "%", (27, 10)), - ("SwapArgumentsOperatorMutation", "x ** y", "y ** x", (27, 9)), - // RequireMutation ("RequireMutation", "cond1", "true", (7, 10)), ("RequireMutation", "cond1", "false", (7, 10)), ("RequireMutation", "cond2", "true", (8, 10)), ("RequireMutation", "cond2", "false", (8, 10)), ("RequireMutation", "cond3", "true", (9, 10)), ("RequireMutation", "cond3", "false", (9, 10)), - // AssignmentMutation ("AssignmentMutation", "42", "0", (13, 6)), ("AssignmentMutation", "42", "1", (13, 6)), ("AssignmentMutation", "13", "0", (14, 6)), @@ -63,71 +56,19 @@ fn test_all() { ("AssignmentMutation", "3110", "1", (15, 6)), ("AssignmentMutation", "true", "false", (16, 6)), ("AssignmentMutation", "false", "true", (17, 6)), - // DeleteExpressionMutation - ("UnaryOperatorMutation", "++", "--", (10, 13)), - ("SwapArgumentsOperatorMutation", "i < x", "x < i", (9, 22)), ("DeleteExpressionMutation", "i++", "/* i++ */", (9, 29)), - ("UnaryOperatorMutation", "++", "--", (9, 30)), - // FunctionCallMutation - ("BinaryOpMutation", "+", "-", (7, 10)), - ("BinaryOpMutation", "+", "*", (7, 10)), - ("BinaryOpMutation", "+", "/", (7, 10)), - ("BinaryOpMutation", "+", "%", (7, 10)), - ("BinaryOpMutation", "+", "**", (7, 10)), - // IfStatementMutation ("IfStatementMutation", "a", "true", (7, 6)), ("IfStatementMutation", "a", "false", (7, 6)), - // SwapArgumentsFunctionMutation - ("BinaryOpMutation", "-", "+", (8, 10)), - ("BinaryOpMutation", "-", "*", (8, 10)), - ("BinaryOpMutation", "-", "/", (8, 10)), - ("BinaryOpMutation", "-", "%", (8, 10)), - ("BinaryOpMutation", "-", "**", (8, 10)), - ("SwapArgumentsOperatorMutation", "x - y", "y - x", (8, 9)), - // SwapArgumentOperatorMutation - ("BinaryOpMutation", "-", "+", (7, 10)), - ("BinaryOpMutation", "-", "*", (7, 10)), - ("BinaryOpMutation", "-", "/", (7, 10)), - ("BinaryOpMutation", "-", "%", (7, 10)), - ("BinaryOpMutation", "-", "**", (7, 10)), ("SwapArgumentsOperatorMutation", "x - y", "y - x", (7, 9)), - ("BinaryOpMutation", "/", "+", (11, 10)), - ("BinaryOpMutation", "/", "-", (11, 10)), - ("BinaryOpMutation", "/", "*", (11, 10)), - ("BinaryOpMutation", "/", "%", (11, 10)), - ("BinaryOpMutation", "/", "**", (11, 10)), ("SwapArgumentsOperatorMutation", "x / y", "y / x", (11, 9)), - ("BinaryOpMutation", "%", "+", (15, 10)), - ("BinaryOpMutation", "%", "-", (15, 10)), - ("BinaryOpMutation", "%", "*", (15, 10)), - ("BinaryOpMutation", "%", "/", (15, 10)), - ("BinaryOpMutation", "%", "**", (15, 10)), ("SwapArgumentsOperatorMutation", "x % y", "y % x", (15, 9)), - ("BinaryOpMutation", "**", "+", (19, 10)), - ("BinaryOpMutation", "**", "-", (19, 10)), - ("BinaryOpMutation", "**", "*", (19, 10)), - ("BinaryOpMutation", "**", "/", (19, 10)), - ("BinaryOpMutation", "**", "%", (19, 10)), ("SwapArgumentsOperatorMutation", "x ** y", "y ** x", (19, 9)), ("SwapArgumentsOperatorMutation", "x > y", "y > x", (23, 9)), ("SwapArgumentsOperatorMutation", "x < y", "y < x", (27, 9)), ("SwapArgumentsOperatorMutation", "x >= y", "y >= x", (31, 9)), ("SwapArgumentsOperatorMutation", "x <= y", "y <= x", (35, 9)), - ("BinaryOpMutation", "<<", "+", (39, 10)), - ("BinaryOpMutation", "<<", "-", (39, 10)), - ("BinaryOpMutation", "<<", "*", (39, 10)), - ("BinaryOpMutation", "<<", "/", (39, 10)), - ("BinaryOpMutation", "<<", "%", (39, 10)), - ("BinaryOpMutation", "<<", "**", (39, 10)), ("SwapArgumentsOperatorMutation", "x << y", "y << x", (39, 9)), - ("BinaryOpMutation", ">>", "+", (43, 10)), - ("BinaryOpMutation", ">>", "-", (43, 10)), - ("BinaryOpMutation", ">>", "*", (43, 10)), - ("BinaryOpMutation", ">>", "/", (43, 10)), - ("BinaryOpMutation", ">>", "%", (43, 10)), - ("BinaryOpMutation", ">>", "**", (43, 10)), ("SwapArgumentsOperatorMutation", "x >> y", "y >> x", (43, 9)), - // UnaryOpMutation ("UnaryOperatorMutation", "~", "++", (7, 9)), ("UnaryOperatorMutation", "~", "--", (7, 9)), ("UnaryOperatorMutation", "++", "--", (11, 9)), @@ -136,14 +77,7 @@ fn test_all() { ("UnaryOperatorMutation", "--", "~", (15, 9)), ("UnaryOperatorMutation", "++", "--", (19, 3)), ("UnaryOperatorMutation", "--", "++", (24, 3)), - // ElimDelegateMutation - ("AssignmentMutation", "_num", "0", (10, 15)), - ("AssignmentMutation", "_num", "1", (10, 15)), - ("AssignmentMutation", "msg.value", "0", (12, 17)), - ("AssignmentMutation", "msg.value", "1", (12, 17)), ("ElimDelegateMutation", "delegatecall", "call", (25, 55)), - ("AssignmentMutation", "success", "true", (28, 23)), - ("AssignmentMutation", "success", "false", (28, 23)), ], ); }