Skip to main content

Leveraging Feature Location to Extract the Clone-and-Own Relationships of a Family of Software Products

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9679))

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).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. 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

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003). http://dx.doi.org/10.1109/MS.2003.1231146

    Article  Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. 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)

    Article  Google Scholar 

  12. 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

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Landauer, T.K., Psotka, J.: Simulating text understanding for educational applications with latent semantic analysis: introduction to LSA. Interact. Learn. Environ. (2000)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos Cetina .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics