This presentation is the property of its rightful owner.
1 / 6

ETG open problem #2 Improvement of ETG by static analysis PowerPoint PPT Presentation

ETG open problem #2 Improvement of ETG by static analysis. H. Schlingloff, A. Baars, Y. Hassoun, M. Leucker. Static Analysis in ETG. EvoTest WP4: removing irrelevant variables from evolutionary search by variable dependence analysis

ETG open problem #2 Improvement of ETG by static analysis

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

ETG open problem #2Improvement of ETG by static analysis

H. Schlingloff, A. Baars,Y. Hassoun, M. Leucker

Static Analysis in ETG

• EvoTest WP4: removing irrelevant variables from evolutionary search by variable dependence analysis

• SUT is a C function, test case is tupel of input parameters, objective is some coverage (e.g. branch)

• a variable is irrelevant for a particular goal if its value does not contribute to the goal

• this property can be (partially) decided by static analysis

• if a variable is irrelevant, it is not included in the genome. This reduces the search space

• This technique is applicable whenever it can be statically determined whether a certain variable (gene) contributes to the fitness of the whole individual (genome) or not

• does this really reduce execution time???

Static Analysis (1)

• The static analysis could improve the parameters of a genetic algorithm (like cross-over operators, fitness function etc.) rather than just limiting the search space

• example:f(x,y,s,t) = if (x+y>10 and s+t>20) then goal: …;

• crossover that changes x or y when their sum satisfies the condition might be counterproductive for the search in the sense that prevents reaching the solution quickly.

• This information could be used when deciding upon a rep, in order to reduce the probability that these crossovers can happen

• abstract interpretation and equivalence partitioning can define the range of input variables and hence limit the search space

• This can easily be incorporated into the search

• symbolic execution can determine path conditions

• How can this be incorporated into the search??

Static Analysis (2)

• more generally

• functional dependencies between variables can be statically analyzed

• How can this be incorporated into the search??

• this seems to be a generalization of the previous result (how do parts of the genome influence the fitness of the individual) and should be investigated in more detail

• Might be useful to determine the order of variables in the genome (in the genetic diversity computation)

• Bayesian estimation?

• Learning of dependencies?

• Might be useful to optimize the order in which goals are targeted

• dominating and dominated block analysis together with set cover

Human Interaction in ETG

• Human interaction (assertions) can help in static analysis; thus, obviously, it can help in ETG

• Seeding can be done manually

• More generally, humans can choose and dynamically alternate some parameters of the genetic algorithm (e.g. crossover operators, mutation rates, …)

• This could be coupled to the symbolic execution (to be investigated)

Model Checking and ETG

• ETG might help MC

• it is not clear how MC might help ETG

• prove certain goals to be unreachable?

• prove abstraction transformations?