Created
April 29, 2018 23:16
-
-
Save jameshmread/57e7bd877d4203d61a3db06a4c7fc76c to your computer and use it in GitHub Desktop.
JSON file for professor X after mutation analysis and unit testing addition
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"runner": "mocha", | |
"config": { | |
"reporter": "dot" | |
}, | |
"duration": { | |
"d": 0, | |
"h": 0, | |
"m": 0, | |
"s": 34, | |
"ms": 312 | |
}, | |
"scoresPerFile": { | |
"files": [ | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\sourceCodeModifier\\SourceCodeModifier.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\MutationFactory.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.ts", | |
"C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts" | |
], | |
"mutantsSurvivedForEach": [ | |
5, | |
5, | |
0, | |
7, | |
0, | |
46, | |
4, | |
9, | |
13, | |
0, | |
6, | |
2, | |
31, | |
14, | |
2, | |
3 | |
], | |
"totalMutationsForEach": [ | |
20, | |
11, | |
4, | |
7, | |
13, | |
46, | |
14, | |
9, | |
40, | |
0, | |
123, | |
10, | |
55, | |
33, | |
4, | |
6 | |
] | |
}, | |
"overallScores": { | |
"totalKilledMutants": 248, | |
"totalSurvivingMutants": 147, | |
"mutationScore": 62.78 | |
} | |
}, | |
[ | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" /\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts12C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" * new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts16C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / results.length / 4)\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "(results.length / 4)", | |
"mutationType": "Removal of Parenthesis in a statement", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts20C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end / 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts24C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 25);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.spec.ts56C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "100", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber * FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts72C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 10 | |
}, | |
{ | |
"lineText": " public static isNodeMutatable (node: Node): boolean {\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " const mutationRules = new ValidMutationRules();\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " mutationRules.setNodeFamily(node);\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " if (mutationRules.nodeFamily === void 0) { return false; }\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " return mutationRules.traverseRuleTree(ValidMutationRules.RULE_TREE, 0);\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 16 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 10 | |
}, | |
{ | |
"lineText": " public static isNodeMutatable (node: Node): boolean {\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " const mutationRules = new ValidMutationRules();\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " mutationRules.setNodeFamily(node);\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " if (mutationRules.nodeFamily === void 0) { return true; }\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " return mutationRules.traverseRuleTree(ValidMutationRules.RULE_TREE, 0);\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 16 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.spec.ts84C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " [SyntaxKind.BinaryExpression] : false\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 20 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " [SyntaxKind.BinaryExpression] : true\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 20 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.spec.ts0C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " public spawnWorkers () {\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < this.logicalCores; i++) {\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " this.workers.push(worker.fork(\"./src/Worker.ts\", [], {silent: false}));\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " Logger.info(\"Creating Worker: \", i);\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " this.createWorkerMessagers(this.workers[i]);\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " this.workers[i].send(JSON.stringify(this.splitNodes[i]));\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 57 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " public spawnWorkers () {\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " for (let i = 1; i < this.logicalCores; i++) {\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " this.workers.push(worker.fork(\"./src/Worker.ts\", [], {silent: false}));\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " Logger.info(\"Creating Worker: \", i);\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " this.createWorkerMessagers(this.workers[i]);\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " this.workers[i].send(JSON.stringify(this.splitNodes[i]));\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 57 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.spec.ts4C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\sourceCodeModifier\\SourceCodeModifier.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" - new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts12C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" /\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts16C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" * new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts20C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 0))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "4", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts24C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 0) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = -1; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 0) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts28C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 0; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts36C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter - \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts72C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ / \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts76C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" - file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts84C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " public spawnWorkers () {\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < this.logicalCores; i++) {\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " this.workers.push(worker.fork(\"./src/Worker.ts\", [], {silent: false}));\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " Logger.info(\"Creating Worker: \", i);\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " this.createWorkerMessagers(this.workers[i]);\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " this.workers[i].send(JSON.stringify(this.splitNodes[i]));\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 57 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " public spawnWorkers () {\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < this.logicalCores; i++) {\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " this.workers.push(worker.fork(\"./src/Worker.ts\", [], {silent: true}));\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " Logger.info(\"Creating Worker: \", i);\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " this.createWorkerMessagers(this.workers[i]);\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " this.workers[i].send(JSON.stringify(this.splitNodes[i]));\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 57 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.spec.ts2C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts6C13516undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "60", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 539, | |
"end": 542 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "60", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts10C13516undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "60", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 539, | |
"end": 542 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "60", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() / \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts14C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() * \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts18C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " public multiplyByNegative (): string {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const negativeNum = this.number;\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " return (negativeNum * -1).toString();\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 42 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " public multiplyByNegative (): string {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const negativeNum = this.number;\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " return (negativeNum / -1).toString();\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 42 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.spec.ts22C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " public isNodeValidForMutation (nodeText: string) {\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " return !isNaN(parseInt(nodeText, 10));\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 25 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " public isNodeValidForMutation (nodeText: string) {\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " return !isNaN(parseInt(nodeText, 11));\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 25 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.spec.ts30C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " private static removeFileFromAnalysis (file: string, arrayContainingFile: Array<string>) {\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " arrayContainingFile.splice(arrayContainingFile.indexOf(file), 1);\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " Logger.warn(\"Could not find File: \", file);\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 86 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " private static removeFileFromAnalysis (file: string, arrayContainingFile: Array<string>) {\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " arrayContainingFile.splice(arrayContainingFile.indexOf(file), -1);\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " Logger.warn(\"Could not find File: \", file);\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 86 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts38C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "2", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath - \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts98C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName * \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts21C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() - \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts25C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() /\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts29C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "5", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "5", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" / this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts73C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" * this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts77C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts85C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "3", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 701, | |
"end": 703 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "3", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts89C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "3", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 701, | |
"end": 703 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "3", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 10 | |
}, | |
{ | |
"lineText": " public static isNodeMutatable (node: Node): boolean {\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " const mutationRules = new ValidMutationRules();\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " mutationRules.setNodeFamily(node);\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " if (mutationRules.nodeFamily === void 0) { return false; }\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " return mutationRules.traverseRuleTree(ValidMutationRules.RULE_TREE, 0);\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 16 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 10 | |
}, | |
{ | |
"lineText": " public static isNodeMutatable (node: Node): boolean {\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " const mutationRules = new ValidMutationRules();\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " mutationRules.setNodeFamily(node);\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " if (mutationRules.nodeFamily === void 0) { return null; }\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " return mutationRules.traverseRuleTree(ValidMutationRules.RULE_TREE, 0);\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 16 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.ts", | |
"targetNode": "return false;", | |
"mutationType": "Modifying a Return Statement to return null", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.spec.ts105C5060undefined.m.ts" | |
} | |
], | |
[ | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " [SyntaxKind.VoidExpression]: false\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 27 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " [SyntaxKind.VoidExpression]: true\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 27 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.spec.ts1C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" *\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts13C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" - new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts17C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " public static createAllFileDescriptors (): Array<IFileDescriptor> {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.filter((srcFile) => {if (existsSync(srcFile)) { return srcFile; } });\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.filter((testFile) => { if (existsSync(testFile)) {return testFile; } });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " console.log(\"before\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " // if (!this.fileExists(ConfigManager.filesToMutate[i]) || !this.fileExists(ConfigManager.testFiles[i])) {\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " // console.log(\"file removed\", ConfigManager.filesToMutate[i]);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.splice(\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.indexOf(ConfigManager.filesToMutate[i], 1));\r", | |
"lineNumber": 58 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.splice(\r", | |
"lineNumber": 59 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.indexOf(ConfigManager.testFiles[i], 1));\r", | |
"lineNumber": 60 | |
}, | |
{ | |
"lineText": " // NodeHandler.fileDescriptors.splice(i, 1);\r", | |
"lineNumber": 61 | |
}, | |
{ | |
"lineText": " // } else {\r", | |
"lineNumber": 62 | |
}, | |
{ | |
"lineText": " console.log(\"file\", i);\r", | |
"lineNumber": 63 | |
}, | |
{ | |
"lineText": " const fo = new FileObject(ConfigManager.filesToMutate[i], ConfigManager.testFiles[i]);\r", | |
"lineNumber": 64 | |
}, | |
{ | |
"lineText": " const fh = new FileHandler(fo);\r", | |
"lineNumber": 65 | |
}, | |
{ | |
"lineText": " const so = new SourceObject(fh.getSourceObject());\r", | |
"lineNumber": 66 | |
}, | |
{ | |
"lineText": " const ci = new CodeInspector(so.originalSourceObject);\r", | |
"lineNumber": 67 | |
}, | |
{ | |
"lineText": " NodeHandler.fileDescriptors.push({\r", | |
"lineNumber": 68 | |
}, | |
{ | |
"lineText": " fileName: ConfigManager.filesToMutate[i],\r", | |
"lineNumber": 69 | |
}, | |
{ | |
"lineText": " fileObject: fo, fileHandler: fh, sourceObject: so, codeInspector: ci\r", | |
"lineNumber": 70 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 71 | |
}, | |
{ | |
"lineText": " // }\r", | |
"lineNumber": 72 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 73 | |
}, | |
{ | |
"lineText": " console.log(\"aa\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 74 | |
}, | |
{ | |
"lineText": " console.log(\"file desc\", NodeHandler.fileDescriptors.length);\r", | |
"lineNumber": 75 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileDescriptors;\r", | |
"lineNumber": 76 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 77 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " public static createAllFileDescriptors (): Array<IFileDescriptor> {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.filter((srcFile) => {if (existsSync(srcFile)) { return srcFile; } });\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.filter((testFile) => { if (existsSync(testFile)) {return testFile; } });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " console.log(\"before\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " for (let i = 1; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " // if (!this.fileExists(ConfigManager.filesToMutate[i]) || !this.fileExists(ConfigManager.testFiles[i])) {\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " // console.log(\"file removed\", ConfigManager.filesToMutate[i]);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.splice(\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.indexOf(ConfigManager.filesToMutate[i], 1));\r", | |
"lineNumber": 58 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.splice(\r", | |
"lineNumber": 59 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.indexOf(ConfigManager.testFiles[i], 1));\r", | |
"lineNumber": 60 | |
}, | |
{ | |
"lineText": " // NodeHandler.fileDescriptors.splice(i, 1);\r", | |
"lineNumber": 61 | |
}, | |
{ | |
"lineText": " // } else {\r", | |
"lineNumber": 62 | |
}, | |
{ | |
"lineText": " console.log(\"file\", i);\r", | |
"lineNumber": 63 | |
}, | |
{ | |
"lineText": " const fo = new FileObject(ConfigManager.filesToMutate[i], ConfigManager.testFiles[i]);\r", | |
"lineNumber": 64 | |
}, | |
{ | |
"lineText": " const fh = new FileHandler(fo);\r", | |
"lineNumber": 65 | |
}, | |
{ | |
"lineText": " const so = new SourceObject(fh.getSourceObject());\r", | |
"lineNumber": 66 | |
}, | |
{ | |
"lineText": " const ci = new CodeInspector(so.originalSourceObject);\r", | |
"lineNumber": 67 | |
}, | |
{ | |
"lineText": " NodeHandler.fileDescriptors.push({\r", | |
"lineNumber": 68 | |
}, | |
{ | |
"lineText": " fileName: ConfigManager.filesToMutate[i],\r", | |
"lineNumber": 69 | |
}, | |
{ | |
"lineText": " fileObject: fo, fileHandler: fh, sourceObject: so, codeInspector: ci\r", | |
"lineNumber": 70 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 71 | |
}, | |
{ | |
"lineText": " // }\r", | |
"lineNumber": 72 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 73 | |
}, | |
{ | |
"lineText": " console.log(\"aa\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 74 | |
}, | |
{ | |
"lineText": " console.log(\"file desc\", NodeHandler.fileDescriptors.length);\r", | |
"lineNumber": 75 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileDescriptors;\r", | |
"lineNumber": 76 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 77 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts21C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end * 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts25C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 23);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.spec.ts57C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "100", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber - FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts73C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " private static removeFoundFiles (fileArray) {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " fileArray.forEach((file) => {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " fs.unlinkSync(ConfigManager.filePath + file);\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 52 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " private static removeFoundFiles (fileArray) {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " fileArray.forEach((file) => {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " fs.unlinkSync(ConfigManager.filePath - file);\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 52 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.spec.ts85C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " public spawnWorkers () {\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < this.logicalCores; i++) {\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " this.workers.push(worker.fork(\"./src/Worker.ts\", [], {silent: false}));\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " Logger.info(\"Creating Worker: \", i);\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " this.createWorkerMessagers(this.workers[i]);\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " this.workers[i].send(JSON.stringify(this.splitNodes[i]));\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 57 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " public spawnWorkers () {\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " for (let i = -1; i < this.logicalCores; i++) {\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " this.workers.push(worker.fork(\"./src/Worker.ts\", [], {silent: false}));\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " Logger.info(\"Creating Worker: \", i);\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " this.createWorkerMessagers(this.workers[i]);\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " this.workers[i].send(JSON.stringify(this.splitNodes[i]));\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 57 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.spec.ts5C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" / new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts13C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" *\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts17C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 5))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "4", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts21C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 1))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "4", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts25C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + -1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts37C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % -1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.spec.ts57C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter / \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts73C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ * \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts77C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts81C9160undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "-", | |
"nodeToBeMutated": { | |
"syntaxType": 38, | |
"positions": { | |
"pos": 699, | |
"end": 701 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "-", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" / file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts85C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts7C13516undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "60", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 539, | |
"end": 542 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "60", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts11C13516undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "60", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 539, | |
"end": 542 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "60", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() * \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts15C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() - \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts19C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " public isNodeValidForMutation (nodeText: string) {\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " return !isNaN(parseInt(nodeText, 10));\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 25 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " public isNodeValidForMutation (nodeText: string) {\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " return !isNaN(parseInt(nodeText, 9));\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 25 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.spec.ts31C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end - 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts39C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " public addMutationResultToList (): void {\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " if (MutationResultManager.mutationResults.indexOf(this.currentMutationResult) < 0) {\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " MutationResultManager.mutationResults.push(this.currentMutationResult);\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 32 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " public addMutationResultToList (): void {\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " if (MutationResultManager.mutationResults.indexOf(this.currentMutationResult) < -1) {\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " MutationResultManager.mutationResults.push(this.currentMutationResult);\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 32 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts43C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "2", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % -60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.spec.ts71C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath - FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts83C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath / \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts99C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 2; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts103C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() - \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts22C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() / \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts26C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() *\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts30C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "5", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 2; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts42C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "return 0;", | |
"mutationType": "Modifying a Return Statement to return null" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " public static setLogLevelVerbose () {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " this.outputToConsole = true;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " this.outputToJSON = true;\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 51 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " public static setLogLevelVerbose () {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " this.outputToConsole = true;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " this.outputToJSON = false;\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 51 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.spec.ts70C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" * this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts74C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts86C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "3", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 701, | |
"end": 703 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "3", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private static filterOutTestFiles (files: Array<string>): Array<string> {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " return files.filter((file) => {\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " return !file.endsWith(this.testFileExtension + \".ts\");\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 100 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private static filterOutTestFiles (files: Array<string>): Array<string> {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " return files.filter((file) => {\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " return !file.endsWith(this.testFileExtension - \".ts\");\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 100 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts90C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 2; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts102C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
} | |
], | |
[ | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" - new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts14C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" / new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts18C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " public static createAllFileDescriptors (): Array<IFileDescriptor> {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.filter((srcFile) => {if (existsSync(srcFile)) { return srcFile; } });\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.filter((testFile) => { if (existsSync(testFile)) {return testFile; } });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " console.log(\"before\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " // if (!this.fileExists(ConfigManager.filesToMutate[i]) || !this.fileExists(ConfigManager.testFiles[i])) {\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " // console.log(\"file removed\", ConfigManager.filesToMutate[i]);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.splice(\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.indexOf(ConfigManager.filesToMutate[i], 1));\r", | |
"lineNumber": 58 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.splice(\r", | |
"lineNumber": 59 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.indexOf(ConfigManager.testFiles[i], 1));\r", | |
"lineNumber": 60 | |
}, | |
{ | |
"lineText": " // NodeHandler.fileDescriptors.splice(i, 1);\r", | |
"lineNumber": 61 | |
}, | |
{ | |
"lineText": " // } else {\r", | |
"lineNumber": 62 | |
}, | |
{ | |
"lineText": " console.log(\"file\", i);\r", | |
"lineNumber": 63 | |
}, | |
{ | |
"lineText": " const fo = new FileObject(ConfigManager.filesToMutate[i], ConfigManager.testFiles[i]);\r", | |
"lineNumber": 64 | |
}, | |
{ | |
"lineText": " const fh = new FileHandler(fo);\r", | |
"lineNumber": 65 | |
}, | |
{ | |
"lineText": " const so = new SourceObject(fh.getSourceObject());\r", | |
"lineNumber": 66 | |
}, | |
{ | |
"lineText": " const ci = new CodeInspector(so.originalSourceObject);\r", | |
"lineNumber": 67 | |
}, | |
{ | |
"lineText": " NodeHandler.fileDescriptors.push({\r", | |
"lineNumber": 68 | |
}, | |
{ | |
"lineText": " fileName: ConfigManager.filesToMutate[i],\r", | |
"lineNumber": 69 | |
}, | |
{ | |
"lineText": " fileObject: fo, fileHandler: fh, sourceObject: so, codeInspector: ci\r", | |
"lineNumber": 70 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 71 | |
}, | |
{ | |
"lineText": " // }\r", | |
"lineNumber": 72 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 73 | |
}, | |
{ | |
"lineText": " console.log(\"aa\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 74 | |
}, | |
{ | |
"lineText": " console.log(\"file desc\", NodeHandler.fileDescriptors.length);\r", | |
"lineNumber": 75 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileDescriptors;\r", | |
"lineNumber": 76 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 77 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " public static createAllFileDescriptors (): Array<IFileDescriptor> {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.filter((srcFile) => {if (existsSync(srcFile)) { return srcFile; } });\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.filter((testFile) => { if (existsSync(testFile)) {return testFile; } });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " console.log(\"before\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " for (let i = -1; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " // if (!this.fileExists(ConfigManager.filesToMutate[i]) || !this.fileExists(ConfigManager.testFiles[i])) {\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " // console.log(\"file removed\", ConfigManager.filesToMutate[i]);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.splice(\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " // ConfigManager.filesToMutate.indexOf(ConfigManager.filesToMutate[i], 1));\r", | |
"lineNumber": 58 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.splice(\r", | |
"lineNumber": 59 | |
}, | |
{ | |
"lineText": " // ConfigManager.testFiles.indexOf(ConfigManager.testFiles[i], 1));\r", | |
"lineNumber": 60 | |
}, | |
{ | |
"lineText": " // NodeHandler.fileDescriptors.splice(i, 1);\r", | |
"lineNumber": 61 | |
}, | |
{ | |
"lineText": " // } else {\r", | |
"lineNumber": 62 | |
}, | |
{ | |
"lineText": " console.log(\"file\", i);\r", | |
"lineNumber": 63 | |
}, | |
{ | |
"lineText": " const fo = new FileObject(ConfigManager.filesToMutate[i], ConfigManager.testFiles[i]);\r", | |
"lineNumber": 64 | |
}, | |
{ | |
"lineText": " const fh = new FileHandler(fo);\r", | |
"lineNumber": 65 | |
}, | |
{ | |
"lineText": " const so = new SourceObject(fh.getSourceObject());\r", | |
"lineNumber": 66 | |
}, | |
{ | |
"lineText": " const ci = new CodeInspector(so.originalSourceObject);\r", | |
"lineNumber": 67 | |
}, | |
{ | |
"lineText": " NodeHandler.fileDescriptors.push({\r", | |
"lineNumber": 68 | |
}, | |
{ | |
"lineText": " fileName: ConfigManager.filesToMutate[i],\r", | |
"lineNumber": 69 | |
}, | |
{ | |
"lineText": " fileObject: fo, fileHandler: fh, sourceObject: so, codeInspector: ci\r", | |
"lineNumber": 70 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 71 | |
}, | |
{ | |
"lineText": " // }\r", | |
"lineNumber": 72 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 73 | |
}, | |
{ | |
"lineText": " console.log(\"aa\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 74 | |
}, | |
{ | |
"lineText": " console.log(\"file desc\", NodeHandler.fileDescriptors.length);\r", | |
"lineNumber": 75 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileDescriptors;\r", | |
"lineNumber": 76 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 77 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts22C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "100", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "100", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber - FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts70C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber / FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts74C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " private static removeFoundFiles (fileArray) {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " fileArray.forEach((file) => {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " fs.unlinkSync(ConfigManager.filePath + file);\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 52 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " private static removeFoundFiles (fileArray) {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " fileArray.forEach((file) => {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " fs.unlinkSync(ConfigManager.filePath / file);\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 52 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.spec.ts86C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\sourceCodeModifier\\SourceCodeModifier.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" * new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts14C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" - new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts18C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 3))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "4", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts22C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / -1))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "4", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts26C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " public static setLogLevelVerbose () {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " this.outputToConsole = true;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " this.outputToJSON = true;\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 51 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " public static setLogLevelVerbose () {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " this.outputToConsole = false;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " this.outputToJSON = true;\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 51 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.spec.ts70C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter * \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts74C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts82C9160undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "-", | |
"nodeToBeMutated": { | |
"syntaxType": 38, | |
"positions": { | |
"pos": 699, | |
"end": 701 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "-", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" * file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts86C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " [SyntaxKind.StringLiteral]: false\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 15 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " [SyntaxKind.StringLiteral]: true\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 15 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.spec.ts0C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 58 | |
}, | |
{ | |
"lineText": " public getIndividualFileResults () {\r", | |
"lineNumber": 59 | |
}, | |
{ | |
"lineText": " this.progressDisplay.summaryProgressBar = this.progressDisplay.createProgressBar(\r", | |
"lineNumber": 60 | |
}, | |
{ | |
"lineText": " \"Generating Summary: |:bar| :percent | Time Elapsed :elapsed\",\r", | |
"lineNumber": 61 | |
}, | |
{ | |
"lineText": " this.threadResults.length);\r", | |
"lineNumber": 62 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 63 | |
}, | |
{ | |
"lineText": " const filesMutated: IMutationScoresPerFile = {\r", | |
"lineNumber": 64 | |
}, | |
{ | |
"lineText": " files: ConfigManager.filesToMutate,\r", | |
"lineNumber": 65 | |
}, | |
{ | |
"lineText": " mutantsSurvivedForEach: [],\r", | |
"lineNumber": 66 | |
}, | |
{ | |
"lineText": " totalMutationsForEach: []\r", | |
"lineNumber": 67 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 68 | |
}, | |
{ | |
"lineText": " filesMutated.files.forEach((file) => {\r", | |
"lineNumber": 69 | |
}, | |
{ | |
"lineText": " filesMutated.mutantsSurvivedForEach.push(0);\r", | |
"lineNumber": 70 | |
}, | |
{ | |
"lineText": " filesMutated.totalMutationsForEach.push(0);\r", | |
"lineNumber": 71 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 72 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 73 | |
}, | |
{ | |
"lineText": " this.threadResults.forEach((item, index) => {\r", | |
"lineNumber": 74 | |
}, | |
{ | |
"lineText": " const indexOfSRCFile = ConfigManager.filesToMutate.indexOf(item.SRC_FILE);\r", | |
"lineNumber": 75 | |
}, | |
{ | |
"lineText": " if (indexOfSRCFile >= 0) {\r", | |
"lineNumber": 76 | |
}, | |
{ | |
"lineText": " filesMutated.totalMutationsForEach[indexOfSRCFile] ++;\r", | |
"lineNumber": 77 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 78 | |
}, | |
{ | |
"lineText": " if (item.mutatedCode !== null) {\r", | |
"lineNumber": 79 | |
}, | |
{ | |
"lineText": " filesMutated.mutantsSurvivedForEach[indexOfSRCFile] ++;\r", | |
"lineNumber": 80 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 81 | |
}, | |
{ | |
"lineText": " this.progressDisplay.tickBar(this.progressDisplay.summaryProgressBar);\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " return filesMutated;\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 85 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 58 | |
}, | |
{ | |
"lineText": " public getIndividualFileResults () {\r", | |
"lineNumber": 59 | |
}, | |
{ | |
"lineText": " this.progressDisplay.summaryProgressBar = this.progressDisplay.createProgressBar(\r", | |
"lineNumber": 60 | |
}, | |
{ | |
"lineText": " \"Generating Summary: |:bar| :percent | Time Elapsed :elapsed\",\r", | |
"lineNumber": 61 | |
}, | |
{ | |
"lineText": " this.threadResults.length);\r", | |
"lineNumber": 62 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 63 | |
}, | |
{ | |
"lineText": " const filesMutated: IMutationScoresPerFile = {\r", | |
"lineNumber": 64 | |
}, | |
{ | |
"lineText": " files: ConfigManager.filesToMutate,\r", | |
"lineNumber": 65 | |
}, | |
{ | |
"lineText": " mutantsSurvivedForEach: [],\r", | |
"lineNumber": 66 | |
}, | |
{ | |
"lineText": " totalMutationsForEach: []\r", | |
"lineNumber": 67 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 68 | |
}, | |
{ | |
"lineText": " filesMutated.files.forEach((file) => {\r", | |
"lineNumber": 69 | |
}, | |
{ | |
"lineText": " filesMutated.mutantsSurvivedForEach.push(0);\r", | |
"lineNumber": 70 | |
}, | |
{ | |
"lineText": " filesMutated.totalMutationsForEach.push(0);\r", | |
"lineNumber": 71 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 72 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 73 | |
}, | |
{ | |
"lineText": " this.threadResults.forEach((item, index) => {\r", | |
"lineNumber": 74 | |
}, | |
{ | |
"lineText": " const indexOfSRCFile = ConfigManager.filesToMutate.indexOf(item.SRC_FILE);\r", | |
"lineNumber": 75 | |
}, | |
{ | |
"lineText": " if (indexOfSRCFile >= -1) {\r", | |
"lineNumber": 76 | |
}, | |
{ | |
"lineText": " filesMutated.totalMutationsForEach[indexOfSRCFile] ++;\r", | |
"lineNumber": 77 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 78 | |
}, | |
{ | |
"lineText": " if (item.mutatedCode !== null) {\r", | |
"lineNumber": 79 | |
}, | |
{ | |
"lineText": " filesMutated.mutantsSurvivedForEach[indexOfSRCFile] ++;\r", | |
"lineNumber": 80 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 81 | |
}, | |
{ | |
"lineText": " this.progressDisplay.tickBar(this.progressDisplay.summaryProgressBar);\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " return filesMutated;\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 85 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.spec.ts4C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts8C13516undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "60", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 539, | |
"end": 542 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "60", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "{\r\n super(parenthesisNode);\r\n }", | |
"mutationType": "Remove all content from a block of code" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() - \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts16C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() / \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts20C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " private static removeFileFromAnalysis (file: string, arrayContainingFile: Array<string>) {\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " arrayContainingFile.splice(arrayContainingFile.indexOf(file), 1);\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " Logger.warn(\"Could not find File: \", file);\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 86 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " private static removeFileFromAnalysis (file: string, arrayContainingFile: Array<string>) {\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " arrayContainingFile.splice(arrayContainingFile.indexOf(file), 2);\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " Logger.warn(\"Could not find File: \", file);\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 86 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts36C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end / 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts40C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "2", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "2", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath / FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts84C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath + \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 112 | |
}, | |
{ | |
"lineText": " private getAllProjectFiles (filePath: string): Array<string> {\r", | |
"lineNumber": 113 | |
}, | |
{ | |
"lineText": " const currentDir = ConfigManager.readfileDirectory(filePath);\r", | |
"lineNumber": 114 | |
}, | |
{ | |
"lineText": " currentDir.forEach((file) => {\r", | |
"lineNumber": 115 | |
}, | |
{ | |
"lineText": " if (ConfigManager.isTypescriptFile(file)) {\r", | |
"lineNumber": 116 | |
}, | |
{ | |
"lineText": " this.projectFilesRetrieved.push(resolve(filePath, file));\r", | |
"lineNumber": 117 | |
}, | |
{ | |
"lineText": " } else {\r", | |
"lineNumber": 118 | |
}, | |
{ | |
"lineText": " this.getAllProjectFiles(filePath * \"/\" + file);\r", | |
"lineNumber": 119 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 120 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 121 | |
}, | |
{ | |
"lineText": " return this.projectFilesRetrieved;\r", | |
"lineNumber": 122 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 123 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts100C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " [SyntaxKind.PropertyAccessExpression]: false\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " },\r", | |
"lineNumber": 24 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " [SyntaxKind.PropertyAccessExpression]: true\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " },\r", | |
"lineNumber": 24 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.spec.ts3C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " [SyntaxKind.BinaryExpression] : false\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " [SyntaxKind.BinaryExpression] : false\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "{\r\n bar.tick(1);\r\n }", | |
"mutationType": "Remove all content from a block of code", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts15C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "{\r\n bar.tick(1);\r\n }", | |
"nodeToBeMutated": { | |
"syntaxType": 208, | |
"positions": { | |
"pos": 665, | |
"end": 696 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "{\r\n bar.tick(1);\r\n }", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName - \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts19C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() / \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts23C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() * \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts27C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 0) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 1) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts31C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "5", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 0; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts43C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % -60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.spec.ts63C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" - this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts75C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts87C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "3", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 701, | |
"end": 703 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "3", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private static filterOutTestFiles (files: Array<string>): Array<string> {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " return files.filter((file) => {\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " return !file.endsWith(this.testFileExtension + \".ts\");\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 100 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private static filterOutTestFiles (files: Array<string>): Array<string> {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " return files.filter((file) => {\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " return !file.endsWith(this.testFileExtension / \".ts\");\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 100 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts91C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 0; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts103C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\CodeInspector.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
} | |
], | |
[ | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 158 | |
}, | |
{ | |
"lineText": " private getRunDuration (): IDurationFormat {\r", | |
"lineNumber": 159 | |
}, | |
{ | |
"lineText": " const endTimestamp = new Date().getTime();\r", | |
"lineNumber": 160 | |
}, | |
{ | |
"lineText": " const timeTaken = MathFunctions.calculateRunTime(\r", | |
"lineNumber": 161 | |
}, | |
{ | |
"lineText": " new Date(endTimestamp - this.startTimestamp).getTime()\r", | |
"lineNumber": 162 | |
}, | |
{ | |
"lineText": " );\r", | |
"lineNumber": 163 | |
}, | |
{ | |
"lineText": " Logger.info(\"Mutations Complete in: \", timeTaken);\r", | |
"lineNumber": 164 | |
}, | |
{ | |
"lineText": " return timeTaken;\r", | |
"lineNumber": 165 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 166 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 158 | |
}, | |
{ | |
"lineText": " private getRunDuration (): IDurationFormat {\r", | |
"lineNumber": 159 | |
}, | |
{ | |
"lineText": " const endTimestamp = new Date().getTime();\r", | |
"lineNumber": 160 | |
}, | |
{ | |
"lineText": " const timeTaken = MathFunctions.calculateRunTime(\r", | |
"lineNumber": 161 | |
}, | |
{ | |
"lineText": " new Date(endTimestamp / this.startTimestamp).getTime()\r", | |
"lineNumber": 162 | |
}, | |
{ | |
"lineText": " );\r", | |
"lineNumber": 163 | |
}, | |
{ | |
"lineText": " Logger.info(\"Mutations Complete in: \", timeTaken);\r", | |
"lineNumber": 164 | |
}, | |
{ | |
"lineText": " return timeTaken;\r", | |
"lineNumber": 165 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 166 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.spec.ts3C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" -\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts11C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" / new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts15C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" * new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts19C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end - 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts23C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "100", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "100", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber / FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts71C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber * FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts75C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " public getSourceObject (): ts.SourceFile {\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " return this.file.sourceObject ? this.file.sourceObject :\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " ts.createSourceFile(this.file.filename, this.getSourceCode (), ts.ScriptTarget.ES2015, true);\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 43 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " public getSourceObject (): ts.SourceFile {\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " return this.file.sourceObject ? this.file.sourceObject :\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " ts.createSourceFile(this.file.filename, this.getSourceCode (), ts.ScriptTarget.ES2015, false);\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 43 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts79C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return null; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "return 1;", | |
"mutationType": "Modifying a Return Statement to return null", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts83C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " private static removeFoundFiles (fileArray) {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " fileArray.forEach((file) => {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " fs.unlinkSync(ConfigManager.filePath + file);\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 52 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " private static removeFoundFiles (fileArray) {\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " fileArray.forEach((file) => {\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " fs.unlinkSync(ConfigManager.filePath * file);\r", | |
"lineNumber": 50 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 52 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\cleanup\\Cleaner.spec.ts87C8692undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\sourceCodeModifier\\SourceCodeModifier.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" -\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts15C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" / new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts19C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / 4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 11 | |
}, | |
{ | |
"lineText": " public static writeResults (collatedResults: EndResult) {\r", | |
"lineNumber": 12 | |
}, | |
{ | |
"lineText": " this.getOutFilePath();\r", | |
"lineNumber": 13 | |
}, | |
{ | |
"lineText": " const header = {\r", | |
"lineNumber": 14 | |
}, | |
{ | |
"lineText": " runner: collatedResults.runner,\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " config: collatedResults.runnerConf,\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " duration: collatedResults.duration,\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " scoresPerFile: collatedResults.mutationScoresPerFile,\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " overallScores: collatedResults.overallScores\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " };\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " const results = collatedResults.results;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " const transformStream = JSONStream.stringify();\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " const outputStream = fs.createWriteStream(OutputToJSON.outputfilePath);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " Logger.log(\"Results File Path\", OutputToJSON.outputfilePath);\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " transformStream.pipe(outputStream);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " transformStream.write(header);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " MathFunctions.divideItemsAmongArrays(results,\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Math.floor(results.length / (results.length / -4))\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " ).forEach((result) => {\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " transformStream.write(result);\r", | |
"lineNumber": 31 | |
}, | |
{ | |
"lineText": " Logger.info(\"Length of Division\", result.length);\r", | |
"lineNumber": 32 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 33 | |
}, | |
{ | |
"lineText": "\r", | |
"lineNumber": 34 | |
}, | |
{ | |
"lineText": " transformStream.end();\r", | |
"lineNumber": 35 | |
}, | |
{ | |
"lineText": " outputStream.on(\"finish\", () => {Logger.log(\"Results Written to Disk\"); });\r", | |
"lineNumber": 36 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 37 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "4", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts23C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 0) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 1; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 0) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts27C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " private setoriginalCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 86 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 87 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 2; line++) {\r", | |
"lineNumber": 88 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.originalCode.push({\r", | |
"lineNumber": 89 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 90 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 91 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 92 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 93 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 94 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts35C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "false", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ - \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts75C9160undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts83C9160undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "-", | |
"nodeToBeMutated": { | |
"syntaxType": 38, | |
"positions": { | |
"pos": 699, | |
"end": 701 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "-", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "return 1;", | |
"mutationType": "Modifying a Return Statement to return null" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " [SyntaxKind.GreaterThanToken || SyntaxKind.LessThanToken]: {\r", | |
"lineNumber": 17 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " [SyntaxKind.GreaterThanToken && SyntaxKind.LessThanToken]: {\r", | |
"lineNumber": 17 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "||", | |
"mutationType": "Replacing one Logical operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.spec.ts1C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\sourceCodeModifier\\SourceCodeModifier.ts", | |
"targetNode": "||", | |
"mutationType": "Replacing one Logical operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "import { OutputToJSON } from \"../outputResults/OutputToJSON\";\r", | |
"lineNumber": 12 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts9C13516undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "60", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 539, | |
"end": 542 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.ts", | |
"plainText": "60", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\progressDisplay\\ProgressDisplay.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() - \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts13C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() / \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts17C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() * \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts21C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "*", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " public isNodeValidForMutation (nodeText: string) {\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " return !isNaN(parseInt(nodeText, 10));\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 25 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " public isNodeValidForMutation (nodeText: string) {\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " return !isNaN(parseInt(nodeText, 0));\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 25 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.ts", | |
"targetNode": "10", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\NumericLiteral.spec.ts33C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " private static removeFileFromAnalysis (file: string, arrayContainingFile: Array<string>) {\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " arrayContainingFile.splice(arrayContainingFile.indexOf(file), 1);\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " Logger.warn(\"Could not find File: \", file);\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 86 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 82 | |
}, | |
{ | |
"lineText": " private static removeFileFromAnalysis (file: string, arrayContainingFile: Array<string>) {\r", | |
"lineNumber": 83 | |
}, | |
{ | |
"lineText": " arrayContainingFile.splice(arrayContainingFile.indexOf(file), 0);\r", | |
"lineNumber": 84 | |
}, | |
{ | |
"lineText": " Logger.warn(\"Could not find File: \", file);\r", | |
"lineNumber": 85 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 86 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts37C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end * 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts41C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "2", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % 24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " public static calculateRunTime (runTime: number): IDurationFormat {\r", | |
"lineNumber": 15 | |
}, | |
{ | |
"lineText": " /*\r", | |
"lineNumber": 16 | |
}, | |
{ | |
"lineText": " convert millis to date time adapted from\r", | |
"lineNumber": 17 | |
}, | |
{ | |
"lineText": " https://gist.github.com/remino/1563878\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " */\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " let ms = runTime;\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " ms = ms % 1000;\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " let s = Math.floor(runTime / 1000);\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " let m = Math.floor(s / 60);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " s = s % 60;\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " let h = Math.floor(m / 60);\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " m = m % 60;\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " const d = Math.floor(h / 24);\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " h = h % -24;\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " return { d, h, m, s, ms };\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 30 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "24", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.spec.ts77C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\logging\\Logger.ts", | |
"targetNode": "true", | |
"mutationType": "Inverting a Boolean" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath * FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts85C13516undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\CodeInspector\\ValidMutationRules.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\supervisor\\Supervisor.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationFactory\\complexMutations\\ParenthesesModifier.ts", | |
"targetNode": "-", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName / \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts20C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() * \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts24C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() +\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 38 | |
}, | |
{ | |
"lineText": " private static getOutFilePath () {\r", | |
"lineNumber": 39 | |
}, | |
{ | |
"lineText": " const rootName = ConfigManager.filePath.split(\"/\")[1];\r", | |
"lineNumber": 40 | |
}, | |
{ | |
"lineText": " OutputToJSON.outputfilePath = \"./mutationResults/\" + rootName + \"_\" +\r", | |
"lineNumber": 41 | |
}, | |
{ | |
"lineText": " new Date().getDay() + \"_\" + new Date().getMonth() + \"_\" + new Date().getFullYear() + \"_\" +\r", | |
"lineNumber": 42 | |
}, | |
{ | |
"lineText": " new Date().getUTCHours() + \"-\" + new Date().getUTCMinutes() + \"-\" + new Date().getUTCSeconds() -\r", | |
"lineNumber": 43 | |
}, | |
{ | |
"lineText": " \".json\".toString();\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " return OutputToJSON.outputfilePath;\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 46 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\outputResults\\OutputToJSON.spec.ts28C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === 0) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 18 | |
}, | |
{ | |
"lineText": " public static traverseFilesForNodes () {\r", | |
"lineNumber": 19 | |
}, | |
{ | |
"lineText": " Logger.dumpLogToConsole();\r", | |
"lineNumber": 20 | |
}, | |
{ | |
"lineText": " console.log(\"dd\", ConfigManager.filesToMutate.length);\r", | |
"lineNumber": 21 | |
}, | |
{ | |
"lineText": " for (let i = 0; i < ConfigManager.filesToMutate.length; i++) {\r", | |
"lineNumber": 22 | |
}, | |
{ | |
"lineText": " NodeHandler.getAllNodesInFile(NodeHandler.fileDescriptors[i].codeInspector, i);\r", | |
"lineNumber": 23 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 24 | |
}, | |
{ | |
"lineText": " if (this.fileNameNodes.length === -1) {\r", | |
"lineNumber": 25 | |
}, | |
{ | |
"lineText": " Logger.fatal(\"No nodes found to mutate, check Professor X config settings.\", NodeHandler);\r", | |
"lineNumber": 26 | |
}, | |
{ | |
"lineText": " throw Error(\"No nodes found to mutate, check Professor X config settings.\");\r", | |
"lineNumber": 27 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 28 | |
}, | |
{ | |
"lineText": " Logger.info(\"Found Nodes\", NodeHandler.fileNameNodes.length);\r", | |
"lineNumber": 29 | |
}, | |
{ | |
"lineText": " return NodeHandler.fileNameNodes;\r", | |
"lineNumber": 30 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 31 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\nodeHandler\\NodeHandler.spec.ts32C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "5", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "5", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + 1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private setMutatedCode (code: string, method: {start: number, end: number}) {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " const splitCode = this.splitCodeByLine(code);\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " for (let line = method.start; line < method.end + -1; line++) {\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " this.currentMutationResult.mutatedCode.push({\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " lineText: splitCode[line],\r", | |
"lineNumber": 100 | |
}, | |
{ | |
"lineText": " lineNumber: ++ method.start\r", | |
"lineNumber": 101 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 102 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 103 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 104 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\mutationResultManager\\MutationResultManager.spec.ts44C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "%", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "1000", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "60", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\maths\\MathFunctions.ts", | |
"targetNode": "0", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" + this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 44 | |
}, | |
{ | |
"lineText": " public writeTempSourceModifiedFile (modifiedCode: string): string {\r", | |
"lineNumber": 45 | |
}, | |
{ | |
"lineText": " const tempFilename =\r", | |
"lineNumber": 46 | |
}, | |
{ | |
"lineText": " this.file.fullPath + FileObject.counter + \"C\" - this.file.coreNumber + FileObject.M_SOURCE_FILE_SUFFIX;\r", | |
"lineNumber": 47 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, modifiedCode);\r", | |
"lineNumber": 48 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 49 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 50 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts72C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" + this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 51 | |
}, | |
{ | |
"lineText": " public createTempTestModifiedFile (): string {\r", | |
"lineNumber": 52 | |
}, | |
{ | |
"lineText": " const updatedContents = this.mutateTestFileReference(this.getTestFileContents());\r", | |
"lineNumber": 53 | |
}, | |
{ | |
"lineText": " const tempFilename = this.file.testFilePath\r", | |
"lineNumber": 54 | |
}, | |
{ | |
"lineText": " + FileObject.counter++ + \"C\" / this.file.coreNumber + FileObject.M_TEST_FILE_SUFFIX;\r", | |
"lineNumber": 55 | |
}, | |
{ | |
"lineText": " fs.writeFileSync(tempFilename, updatedContents);\r", | |
"lineNumber": 56 | |
}, | |
{ | |
"lineText": " return tempFilename;\r", | |
"lineNumber": 57 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 58 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts76C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts84C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "3", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 701, | |
"end": 703 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "3", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": " if (!(this.file.filename.substring(this.file.filename.length - 3) === FileExtensions.source)) {\r", | |
"lineNumber": 19 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts88C5060undefined.m.ts", | |
"mutationAttemptFailure": { | |
"reasonForFailure": "Mutant Errored Due to: Mocha Errored.", | |
"attemptedMutation": "3", | |
"nodeToBeMutated": { | |
"syntaxType": 8, | |
"positions": { | |
"pos": 701, | |
"end": 703 | |
}, | |
"parentFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.ts", | |
"plainText": "3", | |
"associatedTestFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\FileHandler\\FileHandler.spec.ts" | |
} | |
} | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private static filterOutTestFiles (files: Array<string>): Array<string> {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " return files.filter((file) => {\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " return !file.endsWith(this.testFileExtension + \".ts\");\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 100 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 95 | |
}, | |
{ | |
"lineText": " private static filterOutTestFiles (files: Array<string>): Array<string> {\r", | |
"lineNumber": 96 | |
}, | |
{ | |
"lineText": " return files.filter((file) => {\r", | |
"lineNumber": 97 | |
}, | |
{ | |
"lineText": " return !file.endsWith(this.testFileExtension * \".ts\");\r", | |
"lineNumber": 98 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 99 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 100 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "+", | |
"mutationType": "Replacing one Binary Operator with another", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts92C5060undefined.m.ts" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": null, | |
"mutatedCode": null, | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "3", | |
"mutationType": "Modification of Numeric Literal" | |
}, | |
{ | |
"originalCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"mutatedCode": [ | |
{ | |
"lineText": "\r", | |
"lineNumber": 124 | |
}, | |
{ | |
"lineText": " private orderSourceAndTestFiles () {\r", | |
"lineNumber": 125 | |
}, | |
{ | |
"lineText": " ConfigManager.filesToMutate = ConfigManager.filesToMutate.sort((a, b) => {\r", | |
"lineNumber": 126 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 127 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 128 | |
}, | |
{ | |
"lineText": " } else { return 1; }\r", | |
"lineNumber": 129 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 130 | |
}, | |
{ | |
"lineText": " ConfigManager.testFiles = ConfigManager.testFiles.sort((a, b) => {\r", | |
"lineNumber": 131 | |
}, | |
{ | |
"lineText": " if (basename(a) >= basename(b)) {\r", | |
"lineNumber": 132 | |
}, | |
{ | |
"lineText": " return -1;\r", | |
"lineNumber": 133 | |
}, | |
{ | |
"lineText": " } else { return -1; }\r", | |
"lineNumber": 134 | |
}, | |
{ | |
"lineText": " });\r", | |
"lineNumber": 135 | |
}, | |
{ | |
"lineText": " }\r", | |
"lineNumber": 136 | |
} | |
], | |
"SRC_FILE_PATH": "../ProfessorX-Test/src/", | |
"SRC_FILE": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.ts", | |
"targetNode": "1", | |
"mutationType": "Modification of Numeric Literal", | |
"testFilePath": "C:\\git\\Honours-Project\\ProfessorX-Test\\src\\configManager\\ConfigManager.spec.ts104C5060undefined.m.ts" | |
} | |
] | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment