{ "Repair Actions": { "Assignment": { "assignAdd": { "name": "Addition", "fullname": "Assignment addition" }, "assignRem": { "name": "Removal", "fullname": "Assignment removal" }, "assignExpChange": { "name": "Expression modification", "fullname": "Assignment expression modification" } }, "Conditional": { "condBranIfAdd": { "name": "if branch addition", "fullname": "Conditional (if) branch addition" }, "condBranIfElseAdd": { "name": "if-else branches addition", "fullname": "Conditional (if-else) branches addition" }, "condBranElseAdd": { "name": "else branch addition", "fullname": "Conditional (else) branch addition" }, "condBranCaseAdd": { "name": "case branch addition", "fullname": "Conditional (case in switch) branch addition" }, "condBranRem": { "name": "Removal", "fullname": "Conditional (if or else) branch removal" }, "condExpExpand": { "name": "Expression expansion", "fullname": "Conditional expression expansion" }, "condExpRed": { "name": "Expression reduction", "fullname": "Conditional expression reduction" }, "condExpMod": { "name": "Expression modification", "fullname": "Conditional expression modification" } }, "Loop": { "loopAdd": { "name": "Addition", "fullname": "Loop addition" }, "loopRem": { "name": "Removal", "fullname": "Loop removal" }, "loopCondChange": { "name": "Conditional expression modification", "fullname": "Loop conditional expression modification" }, "loopInitChange": { "name": "Initialization field modification", "fullname": "Loop initialization field modification" } }, "Method Call": { "mcAdd": { "name": "Addition", "fullname": "Method call addition" }, "mcRem": { "name": "Removal", "fullname": "Method call removal" }, "mcRepl": { "name": "Replacement", "fullname": "Method call replacement" }, "mcMove": { "name": "Moving", "fullname": "Method call moving" }, "mcParAdd": { "name": "Parameter addition", "fullname": "Method call parameter addition" }, "mcParRem": { "name": "Parameter removal", "fullname": "Method call parameter removal" }, "mcParSwap": { "name": "Parameter value swapping", "fullname": "Method call parameter value swapping" }, "mcParValChange": { "name": "Parameter value modification", "fullname": "Method call parameter value modification" } }, "Method Definition": { "mdAdd": { "name": "Addition", "fullname": "Method definition addition" }, "mdRem": { "name": "Removal", "fullname": "Method definition removal" }, "mdRen": { "name": "Renaming", "fullname": "Method definition renaming" }, "mdParAdd": { "name": "Parameter addition", "fullname": "Parameter addition in method definition" }, "mdParRem": { "name": "Parameter removal", "fullname": "Parameter removal from method definition" }, "mdParTyChange": { "name": "Parameter type modification", "fullname": "Parameter type modification in method definition" }, "mdRetTyChange": { "name": "Return type modification", "fullname": "Method return type modification" }, "mdModChange": { "name": "Modifier change", "fullname": "Method modifier change" }, "mdOverride": { "name": "Method overriding related change", "fullname": "Method overriding addition or removal" } }, "Object Instantiation": { "objInstAdd": { "name": "Addition", "fullname": "Object instantiation addition" }, "objInstRem": { "name": "Removal", "fullname": "Object instantiation removal" }, "objInstMod": { "name": "Modification", "fullname": "Object instantiation modification" } }, "Exception": { "exTryCatchAdd": { "name": "try-catch addition" }, "exTryCatchRem": { "name": "try-catch removal" }, "exThrowsAdd": { "name": "throw addition" }, "exThrowsRem": { "name": "throw removal" } }, "Return": { "retBranchAdd": { "name": "Addition", "fullname": "Return statement addition" }, "retRem": { "name": "Removal", "fullname": "Return statement removal" }, "retExpChange": { "name": "Expression modification", "fullname": "Return expression modification" } }, "Variable": { "varAdd": { "name": "Addition", "fullname": "Variable addition" }, "varRem": { "name": "Removal", "fullname": "Variable removal" }, "varTyChange": { "name": "Type change", "fullname": "Variable type change" }, "varModChange": { "name": "Modifier change", "fullname": "Variable modifier change" }, "varReplVar": { "name": "Replacement by Another Variable", "fullname": "Variable replacement by another variable" }, "varReplMc": { "name": "Replacement by Method Call", "fullname": "Variable replacement by method call" } }, "Type": { "tyAdd": { "name": "Type addition", "fullname": "Type addition" }, "tyImpInterf": { "name": "Type implemented interface modification", "fullname": "Type implemented interface modification" } } }, "Repair Patterns": { "Conditional Block": { "condBlockOthersAdd": { "name": "Conditional block addition", "fullname": "Conditional block addition" }, "condBlockRetAdd": { "name": "Addition with return statement", "fullname": "Conditional block addition with return statement" }, "condBlockExcAdd": { "name": "Addition with exception throwing", "fullname": "Conditional block addition with exception throwing" }, "condBlockRem": { "name": "Conditional block removal", "fullname": "Conditional block removal" } }, "Expression Fix": { "expLogicExpand": { "name": "Logic expression expansion", "fullname": "Logic expression expansion" }, "expLogicReduce": { "name": "Logic expression reduction", "fullname": "Logic expression reduction" }, "expLogicMod": { "name": "Logic expression modification", "fullname": "Logic expression modification" }, "expArithMod": { "name": "Arithmetic expression modification", "fullname": "Arithmetic expression modification" } }, "Wraps-with/Unwraps-from": { "wrapsIf": { "name": "Wraps-with if statement", "fullname": "Wraps-with if statement" }, "wrapsIfElse": { "name": "Wraps-with if-else statement", "fullname": "Wraps-with if-else statement" }, "wrapsElse": { "name": "Wraps-with else statement", "fullname": "Wraps-with else statement" }, "wrapsTryCatch": { "name": "Wraps-with try-catch block", "fullname": "Wraps-with try-catch block" }, "wrapsMethod": { "name": "Wraps-with method call", "fullname": "Wraps-with method call" }, "wrapsLoop": { "name": "Wraps-with loop", "fullname": "Wraps-with loop" }, "unwrapIfElse": { "name": "Unwraps-from if-else statement" }, "unwrapMethod": { "name": "Unwraps-from method call" }, "unwrapTryCatch": { "name": "Unwraps-from try-catch block" } }, "Wrong Reference": { "wrongVarRef": { "name": "Variable", "fullname": "Wrong Variable Reference" }, "wrongMethodRef": { "name": "Method", "fullname": "Wrong Method Reference" } }, "Missing Null-Check": { "missNullCheckP": { "name": "Missing null check", "fullname": "Missing null check addition" }, "missNullCheckN": { "name": "Missing non-null check", "fullname": "Missing non-null check addition" } }, "Other": { "singleLine": { "name": "Single Line" }, "copyPaste": { "name": "Copy/Paste" }, "constChange": { "name": "Constant Change" }, "codeMove": { "name": "Code Moving" }, "notClassified": { "name": "Not classified" } } }, "Runtime Information": { "Automatic Repair": { "rtAcs": { "name": "ACS" }, "rtCardumen": { "name": "Cardumen" }, "rtDeepRepair": { "name": "DeepRepair" }, "rtDynaMoth": { "name": "DynaMoth" }, "rtElixir": { "name": "Elixir" }, "rtGPFL": { "name": "GPFL" }, "rtHDRepair": { "name": "HDRepair" }, "rtGenProg": { "name": "jGenProg" }, "rtKali": { "name": "jKali" }, "rtNopol": { "name": "Nopol" }, "rtssFix": { "name": "ssFix" }, "rtJAID": { "name": "JAID" } } } }