Abstract
Recent research on software product line engineering has led to several search-based frameworks for reverse engineering feature models. The most common fitness function utilized maximizes the number of matched products with an oracle set of products. However, to calculate this fitness each product defined by the chromosome has to be enumerated using a SAT solver and this limits scalability to product lines with fewer than 30 features. In this paper we propose \(\textit{SAT}_{\textit{ff}}\), a fitness function that simulates validity by computing the difference between constraints in the chromosome and oracle. In an empirical study on 101 feature models comparing \(\textit{SAT}_{\textit{ff}}\) with two existing fitness functions that use the enumeration technique we find that \(\textit{SAT}_{\textit{ff}}\) shows a significant improvement over one, and no significant difference with the other one. We also find that \(\textit{SAT}_{\textit{ff}}\) requires only 7 % of the runtime on average scaling to feature models with as many as 97 features.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Andersen, N., Czarnecki, K., She, S., Wąsowski, A.: Efficient synthesis of feature models. In: Proceedings of the 16th International Software Product Line Conference, vol. 1. pp. 106–115. SPLC (2012)
Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortés, A.: A first step towards a framework for the automated analysis of feature models. In: Managing Variability for Software Product Lines: Working With Variability Mechanisms (2006)
Benavides, D., Segura, S., Trinidad, P., Ruiz-cortés, A.: FaMa: tooling a framework for the automated analysis of feature models. In. Proceeding of the First International Workshop on Variability Modelling of Software Intensive Systems VAMOS, pp. 129–134 (2007)
Benavides, D., Segura, S., Trinidad, P., Ruiz-cortés, A.: FAMA, a framework for automated analyses of feature models (2014). http://www.isa.us.es/fama/
Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Castor Filho, F., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: International Conference on Software Engineering, pp. 261–270. ICSE (2008)
Henard, C., Papadakis, M., Harman, M., Le Traon, Y.: Combining multi-objective search and constraint solving for configuring large software product lines. In: International Conference on Software Engineering, pp. 517–528. ICSE (2015)
Kenner, A., Kästner, C., Haase, S., Leich, T.: Typechef: toward type checking #ifdef variability in c. In: International Workshop on Feature-Oriented Software Development, pp. 25–32. FOSD (2010)
Lopez-Herrejon, R.E., Galindo, J.A., Benavides, D., Segura, S., Egyed, A.: Reverse engineering feature models with evolutionary algorithms: an exploratory study. In: Fraser, G., Teixeira de Souza, J. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 168–182. Springer, Heidelberg (2012)
Lopez-Herrejon, R.E., Linsbauer, L., Galindo, J.A., Parejo, J.A., Benavides, D., Segura, S., Egyed, A.: An assessment of search-based techniques for reverse engineering feature models. J. Syst. Softw. 103, 353–369 (2014)
Manning, C.D., Raghavan, P., Schütze, H.: Introduction to Information Retrieval. Cambridge University Press, Cambridge (2008)
Mendonca, M., Branco, M., Cowan, D.: S.P.L.O.T.: Software product lines online tool (2014). http://www.splot-research.org/. Generative Software Development Lab. Computer Systems Group, University of Waterloo
Nadi, S., Berger, T., Kästner, C., Czarnecki, K.: Mining configuration constraints: static analyses and empirical results. In: International Conference on Software Engineering, pp. 140–151. ICSE (2014)
Nadi, S., Berger, T., Kästner, C., Czarnecki, K.: Where do configuration constraints stem from? An extraction approach and an empirical study. IEEE Trans. Softw. Eng. 41(8), 820–841 (2015)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, Berlin (2005)
Sayyad, A., Ingram, J., Menzies, T., Ammar, H.: Scalable product line configuration: a straw to break the camel’s back. In: International Conference on Automated Software Engineering (ASE), pp. 465–474 (2013)
She, S., Lotufo, R., Berger, T., Wąsowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE), pp. 461–470 (2011)
Thianniwet., T., Cohen, M.B.: SPLRevO: optimizing complex feature models in search based reverse engineering of software product lines. In: First North American Search Based Software Engineering Symposium (NasBASE 2015), February 2015
Whaley, J.: JavaBDD - Java Binary Decision Diagram library. http://javabdd.sourceforge.net
Acknowledgments
This research was supported in part by the National Science Foundation under award number CCF-1161767.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Thianniwet, T., Cohen, M.B. (2016). Scaling up the Fitness Function for Reverse Engineering Feature Models. In: Sarro, F., Deb, K. (eds) Search Based Software Engineering. SSBSE 2016. Lecture Notes in Computer Science(), vol 9962. Springer, Cham. https://doi.org/10.1007/978-3-319-47106-8_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-47106-8_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47105-1
Online ISBN: 978-3-319-47106-8
eBook Packages: Computer ScienceComputer Science (R0)