Tarantula is applied to produce a suspiciousness ranklist of statements.
app
Constraints: f(1, 11, 110) > 110∧f(1, 0, 100) ≤ 100∧f(1, −20, 60) > 60ide
Employ program synthesis to solve the constraint for f in order to get a concrete function. Program synthesis requires basic components (e.g. constants, 「+」, 「−」) as ingredients to construct the function f.
In this technique, these components are incrementally provided to program synthesis.ui
In the first trial, only a constant is allowed. However, no constant function can satisfy the above constraint. We then allow function f to use one 「+」, i.e. f can take either the form of var1 + c or var1+var2, where var1 and var2 are in {inhibit, up_sep, down_sep} and c is an integer constant. The synthesis procedure can find a solution f(inhibit, up sep, down sep) = up sep + 100 which is a successful repair to the program in Fig. 1. Note that if 「−」 is used instead of 「+」, we will get f(inhibit, up sep, down sep) = up sep − (−100) as repair.this