Advertisement

Feature Location Through the Combination of Run-Time Architecture Models and Information Retrieval

  • Lorena Arcega
  • Jaime Font
  • Øystein Haugen
  • Carlos Cetina
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9959)

Abstract

Eighty percent of the lifetime of a system is spent on maintenance activities. Feature location is one of the most important and common activities performed by developers during software maintenance. This work presents our approach for performing feature location by leveraging the use of architecture models at run-time. Specifically, the execution information is collected in the architecture model at run-time. Then, our approach performs an Information Retrieval technique at the model level. We have evaluated our approach in a Smart Hotel with its architecture model at run-time. We compared our architecture-model-based approach with a source-code-based approach. The rankings produced by the approaches indicate that since models are on a higher abstraction level than source code, they provide more accurate results. Our architecture-model-based approach ranks the relevant elements in the top ten positions of the ranking in 84 % of the cases; in the top positions in the ranking of the source-code-based approach, there are false positives associated with some programming patterns and true positives are spread between positions 12 and 100.

Keywords

Arquitecture model Models@Run-time Feature location Information retrieval Reverse engineering 

Notes

Acknowledgments

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 Line Adoption (TIN2015-64397-R).

References

  1. 1.
    Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Test. Verif. Reliab. 24(3), 219–250 (2014). doi: 10.1002/stvr.1486 CrossRefGoogle Scholar
  2. 2.
    Basili, V.R.: The role of experimentation in software engineering: past, current, and future. In: Proceedings of the 18th International Conference on Software Engineering, ICSE 1996, pp. 442–449 (1996). http://dl.acm.org/citation.cfm?id=227726.227818
  3. 3.
    Basili, V.R., Caldiera, G., Rombach, H.D.: The goal question metric approach. In: Calvo, J. (ed.) Encyclopedia of Software Engineering. Wiley, Hoboken (1994)Google Scholar
  4. 4.
    Bencomo, N., Hallsteinsen, S., Santana de Almeida, E.: A view of the dynamic software product line landscape. Computer 45(10), 36–41 (2012)CrossRefGoogle Scholar
  5. 5.
    Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.): Models@run.time. Foundations, Applications, and Roadmaps. LNCS, vol. 8378. Springer, Heidelberg (2014)Google Scholar
  6. 6.
    Cetina, C.: Achieving autonomic computing through the use of variability models at run-time. Ph.D. thesis, Universidad Politécnica de Valencia (2010)Google Scholar
  7. 7.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-28630-1_17 CrossRefGoogle Scholar
  8. 8.
    Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature location in source code: a taxonomy and survey. J. Softw. Maintenance Evol. Res. Pract. 25(1), 53–95 (2011)CrossRefGoogle Scholar
  9. 9.
    Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Building software product lines from conceptualized model patterns. In: Proceedings of the 2015 19th International Software Product Line Conference, SPLC 2015, Nashville, TN, USA (2015)Google Scholar
  10. 10.
    Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Feature location in model-based software product lines through a genetic algorithm. In: Kapitsaki, G.M., Santana de Almeida, E. (eds.) ICSR 2016. LNCS, vol. 9679, pp. 39–54. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-35122-3_3 CrossRefGoogle Scholar
  11. 11.
    Koschke, R., Quante, J.: On dynamic feature location. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005, NY, USA, pp. 86–95 (2005). http://doi.acm.org/10.1145/1101908.1101923
  12. 12.
    Landauer, T.K., Foltz, P.W., Laham, D.: An introduction to latent semantic analysis. Discourse Process. 25(2–3), 259–284 (1998)CrossRefGoogle Scholar
  13. 13.
    Lehman, M.M., Ramil, J., Kahen, G.: A paradigm for the behavioural modelling of software processes using system dynamics. Technical report, Imperial College of Science, Technology and Medicine, Department of Computing, September 2001Google Scholar
  14. 14.
    Liu, D., Marcus, A., Poshyvanyk, D., Rajlich, V.: Feature location via information retrieval based filtering of a single scenario execution trace. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, ASE 2007, NY, USA, pp. 234–243 (2007). http://doi.acm.org/10.1145/1321631.1321667
  15. 15.
    Martinez, J., Ziadi, T., Bissyandé, T.F., Le Traon, Y.: Bottom-up adoption of software product lines: a generic and extensible approach. In: Proceedings of the 2015 19th International Software Product Line Conference, SPLC 2015, Nashville, TN, USA (2015)Google Scholar
  16. 16.
    Muñoz, J.: Model driven development of pervasive systems. building a software factory. Ph.D. thesis, Universidad Politécnica de Valencia (2008)Google Scholar
  17. 17.
    Poshyvanyk, D., Gueheneuc, 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 CrossRefGoogle Scholar
  18. 18.
    Revelle, M., Dit, B., Poshyvanyk, D.: Using data fusion and web mining to support feature location in software. In: 2010 IEEE 18th International Conference on Program Comprehension (ICPC), pp. 14–23, June 2010Google Scholar
  19. 19.
    Revelle, M., Poshyvanyk, D.: An exploratory study on assessing feature location techniques. In: IEEE 17th International Conference on Program Comprehension, ICPC 2009, pp. 218–222, May 2009Google Scholar
  20. 20.
    Rubin, J., Chechik, M.: A survey of feature location techniques. In: Reinhartz-Berger, I., Sturm, A., Clark, T., Cohen, S., Bettin, J. (eds.) Domain Engineering, pp. 29–58. Springer, Berlin (2013)CrossRefGoogle Scholar
  21. 21.
    Travassos, M.O., Barros, M.O.: Contributions of in virtuo and in silico experiments for the future of empirical studies in software engineering. In: Proceedings of the ESEIW 2003 Workshop on Empirical Studies in Software Engineering. IEEE Computer Society (2003)Google Scholar
  22. 22.
    Xue, Y., Xing, Z., Jarzabek, S.: Feature location in a collection of product variants. In: 2012 19th Working Conference on Reverse Engineering, pp. 145–154, October 2012Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Lorena Arcega
    • 1
    • 2
  • Jaime Font
    • 1
    • 2
  • Øystein Haugen
    • 3
  • Carlos Cetina
    • 1
  1. 1.SVIT Research GroupUniversidad San JorgeZaragozaSpain
  2. 2.Department of InformaticsUniversity of OsloOsloNorway
  3. 3.Department of Information TechnologyØstfold University CollegeHaldenNorway

Personalised recommendations