Abstract
Feature location is concerned with identifying software artifacts associated with a program functionality (features). This paper presents a novel approach that combines feature location at the model level with code comparison at the code level to extract Clone-and-Own Relationships from a family of software products. The aim of our work is to understand the different Clone-and-Own Relationships and to take advantage of them in order to improve the way features are reused. We have evaluated our work by applying our approach to two families of software products of industrial dimensions. The code of one of the families is implemented manually by software engineers from the models that specify the software, while the code of the other family is implemented automatically by a code generation tool. The results show that our approach is able to extract relationships between features such as Reimplemented, Modificated, Adapted, Unaltered, and Ghost Features, thus providing insight into understanding the Clone-and-Own relationships of a family of software products. Furthermore, we suggest how to use these relationships to improve the way features are reused.
This work has been partially supported by the Ministry of Economy and Competitiveness (MINECO), through the Spanish National R+D+i Plan and ERDF funds under The project Model-Driven Variability Extraction for Software Product Lines Adoption (TIN2015-64397-R).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature location in source code: a taxonomy and survey. J. Softw. Evol. Proc. 25, 53–95 (2013). doi:10.1002/smr.567
Eaddy, M., Aho, A.V., Antoniol, G., Guéhéneuc, Y.G.: CERBERUS: tracing requirements to source code using information retrieval, dynamic analysis, and program analysis. In: Krikhaar, R.L., Lämmel, R., Verhoef, C. (eds.) The 16th IEEE International Conference on Program Comprehension, ICPC, Amsterdam, The Netherlands, 10–13 June 2008, pp. 53–62. IEEE Computer Society (2008)
Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: Software Product Lines, 11th International Conference, SPLC, Proceedings, Kyoto, Japan, 10–14 Sept 2007. IEEE Computer Society (2007)
Font, J., Ballarín, M., Haugen, Ø., Cetina, C.: Automating the variability formalization of a model family by means of common variability language. In: Schmidt, D.C. (ed.) Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, USA, 20–24 July 2015, pp. 411–418. ACM (2015)
Rubin, J., Chechik, M.: Combining related products into product lines. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering. LNCS, vol. 7212, pp. 285–300. Springer, Heidelberg (2012)
Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Bottom-up adoption of software product lines: a generic and extensible approach. In: Schmidt, D.C. (ed.) Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, 20–24 July 2015. ACM (2015)
Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003). http://dx.doi.org/10.1109/MS.2003.1231146
Zhang, X., Haugen, Ø., Møller-Pedersen, B.: Model comparison to synthesize a model-driven software product line. In: de Almeida, E.S., Kishi, T., Schwanninger, C., John, I., Schmid, K. (eds.) Software Product Lines - 15th International Conference, SPLC, Munich, Germany, 22–26 Aug 2011, pp. 90–99. IEEE (2011)
Font, J., Arcega, L., Haugen, O., Cetina, C.: Building software product lines from conceptualized model patterns. In: Proceedings of the 19th International Conference on Software Product Line, SPLC 2015. ACM, New York (2015)
Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans. Software Eng. 28(7), 654–670 (2002)
Li, Z., Lu, S., Myagmar, S., Zhou, Y.: CP-Miner: finding copy-paste and related bugs in large-scale software code. IEEE Trans. Softw. Eng. 32(3), 176–192 (2006)
Kästner, C., Giarrusso, P.G., Rendel, T., Erdweg, S., Ostermann, K., Berger, T.: Variability-aware parsing in the presence of lexical macros and conditional compilation. In: Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2011, pp. 805–824. ACM, New York (2011). http://dx.doi.org/10.1145/2048066.2048128
Kästner, C., Giarrusso, P.G., Rendel, T., Erdweg, S., Ostermann, K., Berger, T.: Variability-aware parsing in the presence of lexical macros and conditional compilation. In: Lopes, C.V., Fisher, K. (eds.) Proceedings of the 26th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2011. ACM (2011)
Kästner, C., Ostermann, K., Erdweg, S.: A variability-aware module system. In: Leavens, G.T., Dwyer, M.B. (eds.) Proceedings of the 27th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, USA, 21–25 Oct 2012. ACM (2012)
Landauer, T.K., Psotka, J.: Simulating text understanding for educational applications with latent semantic analysis: introduction to LSA. Interact. Learn. Environ. (2000)
Asadi, F., Penta, M.D., Antoniol, G., Guéhéneuc, Y.G.: A heuristic-based approach to identify concepts in execution traces. In: Capilla, R., Ferenc, R., Dueñas, J.C. (eds.) 14th European Conference on Software Maintenance and Reengineering, CSMR, March 2010, Madrid, Spain. IEEE Computer Society (2010)
She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Taylor, R.N., Gall, H.C., Medvidovic, N. (eds.) Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, 21–28 May 2011. ACM (2011)
Nadi, S., Berger, T., Kästner, C., Czarnecki, K.: Mining configuration constraints: static analyses and empirical results. In: Jalote, P., Briand, L.C., van der Hoek, A. (eds.) 36th International Conference on Software Engineering, ICSE 14, Hyderabad, India, 31 May – 07 June 2014, pp. 140–151. ACM (2014)
Walkinshaw, N., Roper, M., Wood, M.: Feature location and extraction using landmarks and barriers. In: 23rd IEEE International Conference on Software Maintenance (ICSM 2007), Paris, France, 2–5 Oct 2007. IEEE (2007)
Trifu, M.: Improving the dataflow-based concern identification approach. In: Winter, A., Ferenc, R., Knodel, J. (eds.) 13th European Conference on Software Maintenance and Reengineering, CSMR 2009, Architecture-Centric Maintenance of Large-SCale Software Systems, Kaiserslautern, Germany, 24–27 Mar 2009. IEEE Computer Society (2009)
Eisenberg, A.D., Volder, K.D.: Dynamic feature traces: finding features in unfamiliar code. In: 21st IEEE International Conference on Software Maintenance (ICSM), Budapest, Hungary, 25–30 Sept 2005, pp. 337–346. IEEE Computer Society (2005)
Poshyvanyk, D., Guéhéneuc, Y.G., Marcus, A., Antoniol, G., Rajlich, V.: Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Trans. Softw. Eng. 33(6), 420–432 (2007). doi:10.1109/TSE.2007.1016
Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G.K., Svendsen, A.: Adding standardized variability to domain specific languages. In: Software Product Lines, 12th International Conference, SPLC 2008, Proceedings, Limerick, Ireland, 8–12 Sept 2008, pp. 139–148. IEEE Computer Society (2008)
Svendsen, A., Zhang, X., Lind-Tviberg, R., Fleurey, F., Haugen, Ø., Møller-Pedersen, B., Olsen, G.K.: Developing a software product line for train control: a case study of CVL. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 106–120. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Ballarin, M., Lapeña, R., Cetina, C. (2016). Leveraging Feature Location to Extract the Clone-and-Own Relationships of a Family of Software Products. In: Kapitsaki, G., Santana de Almeida, E. (eds) Software Reuse: Bridging with Social-Awareness. ICSR 2016. Lecture Notes in Computer Science(), vol 9679. Springer, Cham. https://doi.org/10.1007/978-3-319-35122-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-35122-3_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-35121-6
Online ISBN: 978-3-319-35122-3
eBook Packages: Computer ScienceComputer Science (R0)