We need to support calling the repair node with all variables that belong to the same category. For example
if the mutated spec is
a and b and c and d where a, b are inputs, cand dare outputs. Then one possible repair option would be
repair(a, repairNode(a)) and b and c and d.
In the extension we want to add is to allow another configuration that would support the following, mainly the wrapping would depend on the category of a. In this example for instance, looking at a we realize that it is an input and so we'll repair allowing all inputs to appear at the point. So the call to the repairNode would instead be
repair(a, repairNode(a,b)) and b and c and d
This setup allows our tool to bring in new terms that do not exist in the mutated expression.
We need to support calling the repair node with all variables that belong to the same category. For example
if the mutated spec is
a and b and c and d
wherea, b
are inputs,c
andd
are outputs. Then one possible repair option would berepair(a, repairNode(a)) and b and c and d.
In the extension we want to add is to allow another configuration that would support the following, mainly the wrapping would depend on the category of
a
. In this example for instance, looking ata
we realize that it is an input and so we'll repair allowing all inputs to appear at the point. So the call to the repairNode would instead berepair(a, repairNode(a,b)) and b and c and d
This setup allows our tool to bring in new terms that do not exist in the mutated expression.