A Comparative Analysis of Software Refinement Techniques Ion IVAN Adrian VISOIU
Contents Model Structures Model Generators Model Complexity Refinement through Variable Elimination Refinement through Complexity Decrease Refinement through Genetic Algorithms Experimental Results Refined Model Validation Conclusions
Model structures Obtaining a model phenomenon/process analysis establishing influence factors connecting factors to variables measuring variables using an experiment plan generating analytical forms establishing model performance criterion making estimations computing performance criterion for each model selecting a model class model orderingrefined model validation Criterion fulfilled
Model Generators Inputs –list of independent variables –the dependent variable –dataset –restrictions –performance criterion Outputs –list of generated models ordered by the performance criterion Classes: linear, nonlinear, lagged variables
Model complexity For the model M C(M)=n 1 log n 1 + n 2 log n 2 where n 1 - number of operands (variables and coefficients); n 2 - number of operators
Variable Elimination Independent X 1, X 2,.., X n Dependent Y Initial model y = one by one variable elimination y = a i *x i, i=1, 2,.., n
COMPLEXITY DECREASE power terms -> variables function calls -> variables function composition -> direct aggregation y=ax 2 +bz 2 +cu 2 +e is replaced by y = Ax+BZ+CU+E
Genetic algorithms Symbolic regression Population Chromosome – codes an expression Genes – subexpressions – operands, operators, constants Evolution: selection, mutation, transposition, recombination
Experimental results Dataset ERR –number of defects a module LOC –source code lines RM – branch count CC – cyclomatic complexity
Experimental results Variable elimination ERR_EST= a*LOC + b*RM + c*CC + d R 2 adjusted =0,7174 ERR_EST = a*LOC +b*CC+c R 2 adjusted =0,725 Complexity decrease ERR_EST = a*LOC b + c*CC d + e R2 = ERR_EST = a*LOC +b*CC+c R 2 adjusted =0,725 Validation For a new dataset correlation between the recorded values and the estimated ones is 0,8204
Conclusions cyclic character of refinement process refinement modules,model generators -> modelbase refined models: simple, easy to interpret
Contact