Page 54 - SMILESENG
P. 54

Intl. Summer School on Search- and Machine Learning-based Software Engineering
 III. APPROACH
To effectively apply HaFF we need to reduce the number of fitness evaluations done by the search strategy. We have explored three ideas to reduce the number of generations needed to reach the optimal solution: (1) the use of software models; (2) the use of intelligent operators; (3) the use of strategies to handle unfeasible individuals.
Applying the concepts of model-driven engineering [7], where models are the cornerstone of the process and source code can be generated directly from the software model, the search space can be reduced. The rise in the abstraction level introduced by the models helps in reducing the magnitude of the problem; however, the search space is still too big to be manually traversed. Using a binary encoding to represent a model that is used to generate the source code of an induction hob yields a search space of more than 10150 individuals [8].
By using intelligent operators, we can reduce the number of generations needed by the evolutionary algorithm to reach the optimal solution; thus reducing the number of fitness evaluations performed. In one of our previous works [9], we proposed a set of intelligent operators that leverage the latent semantics of software models instead of applying random mutation and crossover operators. Specifically, the operators proposed are based on query reformulation techniques that we have successfully applied in the past [10]. In our evaluations, the use of these operators significantly reduced the number of generations needed to reach the optimal solution (from 347.685 to 384 on average for the best scenario).
When working with software models, the conformance between models and metamodels must be guaranteed, en- suring that the software model is built using the concepts and following the constraints formalized by its metamodel. However, when traditional genetic operators are applied to individuals encoding software models, the conformance can be easily broken. We have recently proposed nine strategies to handle the nonconforming individuals when applying SBSE to individuals that encode software models [8]. The nine strategies are based on methods proposed in the literature: penalty functions, which reduce the fitness value if constraints are violated; strong encoding, which guarantees by construc- tion that unfeasible individuals cannot be created; closed operators, which always produce new individuals that fulfill the constraints; repair operators, which can turn an unfeasible individual into a feasible one, fixing the problematic parts. Our evaluation shows that the application of these strategies reduced the number of generations needed to reach the optimal solution (from 6405 to 456 on average for the best-performing strategy).
IV. RESULTS
In a recent work [11], we have applied intelligent operations and individuals encoding software models to reduce the num- ber of fitness evaluations to a level manageable by a human. That is, we replaced the fitness function with a human in a real- world case study of feature location in software models. In the evaluation, 29 software engineers from the industrial partner
were involved in acting as the fitness function, assessing 400 individuals each of them.
The results showed that HaFF leads to significantly better results than the best baseline. The results are excellent for all the features obtaining 82.34% in precision, 96.01% in recall, and 88.34% in F-measure. The work includes guidelines on how to apply HaFF to other problems from SBSE.
V. CONCLUSION
The fitness function can be replaced by a human, providing better values than the best fitness available in the literature for the problem of feature location [11]. However, this is just the first step, there is still room for improvement: (1) reducing the number of fitness evaluations even more with proper handling of unfeasible individuals should lead to better results (as the human will be able to refine more the individual with the same number of fitness evaluations); (2) there are other benefits from the use of HaFF, the human is less affected to problems with language (as vocabulary mismatch or tacit knowledge [12]) and we would like to empirically evaluate it; (3) there are more opportunities of synergy emerging from the involvement of the human as fitness, we want to explore the collaboration between more than one human to be the fitness and the possibility of hybrid fitness that only ask the human from time to time.
REFERENCES
[1] M. Harman, S. A. Mansouri, and Y. Zhang, “Search-based software engineering: Trends, techniques and applications,” ACM Comput. Surv., vol. 45, no. 1, pp. 11:1–11:61, Dec. 2012.
[2] L. Arcega, J. Font, Ø. Haugen, and C. Cetina, “An approach for bug localization in models using two levels: model and metamodel,” Softw. Syst. Model., vol. 18, no. 6, pp. 3551–3576, 2019.
[3] F. Pe´rez, R. Lapen˜a, J. Font, and C. Cetina, “Fragment retrieval on models for model maintenance: Applying a multi-objective perspective to an industrial case study,” IST, vol. 103, pp. 188–201, 2018.
[4] J. Font, L. Arcega, Ø. Haugen, and C. Cetina, “Achieving feature location in families of models through the use of search-based software engineering,” IEEE Transactions on Evolutionary Computation, vol. PP, no. 99, pp. 1–1, 2017.
[5] I. Boussa¨ıd, P. Siarry, and M. Ahmed-Nacer, “A survey on search-based model-driven engineering,” Automated Software Engineering, vol. 24, no. 2, pp. 233–294, Jun 2017.
[6] A. Ram´ırez, J. R. Romero, and C. L. Simons, “A systematic review of interaction in search-based software engineering,” IEEE Transactions on Software Engineering, vol. 45, no. 8, pp. 760–781, 2019.
[7] S. Kent, “Model driven engineering,” in Integrated Formal Methods. Berlin, Heidelberg: Springer Berlin Heidelberg, 2002, pp. 286–298.
[8] J.Font,L.Arcega,Ø.Haugen,andC.Cetina,“Handlingnonconforming
individuals in search-based model-driven engineering: nine generic strategies for feature location in the modeling space of the meta-object facility,” Softw. Syst. Model., vol. 20, no. 5, pp. 1653–1688, 2021.
[9] F. Pe´rez, T. Ziadi, and C. Cetina, “Utilizing automatic query reformu- lations as genetic operations to improve feature location in software models,” IEEE Transactions on Software Engineering, no. 01, pp. 1–1, jun 2020.
[10] F. Pe´rez, J. Font, L. Arcega, and C. Cetina, “Collaborative feature location in models through automatic query expansion,” Autom. Softw. Eng., vol. 26, no. 1, pp. 161–202, 2019.
[11] F. Pe´rez, J. Font, L. Arcega, and C. Cetina, “Empowering the human as the fitness function in search-based model-driven engineering,” IEEE Transactions on Software Engineering, no. 01, pp. 1–1, oct 2021.
[12] C. Cetina, J. Font, L. Arcega, and F. Pe´rez, “Improving feature location in long-living model-based product families designed with sustainability goals,” J. Syst. Softw., vol. 134, pp. 261–278, 2017.
42








































































   52   53   54   55   56