Recovering Traceability Links Between Code and Specification Through Domain Model Extraction

  • Jiří Vinárek
  • Petr Hnětynka
  • Viliam Šimko
  • Petr Kroha
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 191)


Requirements traceability is an extremely important aspect of software development and especially of maintenance. Efficient maintaining of traceability links between high-level requirements specification and low-level implementation is hindered by many problems. In this paper, we propose a method for automated recovery of links between parts of the textual requirement specification and the source code of implementation. The described method is based on a method allowing extraction of a prototype domain model from plain text requirements specification. The proposed method is evaluated on two non-trivial examples. The performed experiments show that our method is able to link requirements with source code with the accuracy of \(F_1=58-61\,\%\).


Specification Requirements Traceability Domain model 



This work was partially supported by the EU project ASCENS 257414, partially supported by the European Union Seventh Framework Programme FP7-PEOPLE-2010-ITN under grant agreement n\(^\circ \)264840, and partially supported by Charles University institutional funding SVV-2014-260100.


  1. 1.
    Bouillon, E., Mäder, P., Philippow, I.: A survey on usage scenarios for requirements traceability in practice. In: Doerr, J., Opdahl, A.L. (eds.) REFSQ 2013. LNCS, vol. 7830, pp. 158–173. Springer, Heidelberg (2013)Google Scholar
  2. 2.
    Gotel, O.C.Z., Finkelstein, A.C.W.: An analysis of the requirements traceability problem. In: Proceedings of ICRE 1994. Colorado Springs, USA, April 1994Google Scholar
  3. 3.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Proces, 3rd edn. Prentice-Hall, Upper Saddle River (2004)Google Scholar
  4. 4.
    Šimko, V.: From textual specification to formal verification. Ph.D. thesis, Charles University in Prague, Faculty of Mathematics and Physics (2013)Google Scholar
  5. 5.
    Rosenberg, D., Stephens, M.: Use Case Driven Object Modeling with UML: Theory and Practice. Springer, New York (2007)Google Scholar
  6. 6.
    Li, Y., Maalej, W.: Which traceability visualization is suitable in this context? a comparative study. In: Regnell, B., Damian, D. (eds.) REFSQ 2011. LNCS, vol. 7195, pp. 194–210. Springer, Heidelberg (2012)Google Scholar
  7. 7.
    Winkler, W.E.: Overview of record linkage and current research directions. Research report series, Statistical Research Division, US Census Bureau, February 2006Google Scholar
  8. 8.
    Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.): The Common Component Modeling Example. LNCS, vol. 5153. Springer, Heidelberg (2008)Google Scholar
  9. 9.
    Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E.: Recovering traceability links between code and documentation. IEEE Trans. Softw. Eng. 28(10), 970–983 (2002)CrossRefGoogle Scholar
  10. 10.
    Cleland-Huang, J., Settimi, R., Romanova, E., Berenbach, B., Clark, S.: Best practices for automated traceability. Computer 40(6), 27–35 (2007)CrossRefGoogle Scholar
  11. 11.
    Nagano, S., Ichikawa, Y., Kobayashi, T.: Recovering traceability links between code and documentation for enterprise project artifacts. In: Proceedings of COMPSAC 2012, Izmir, Turkey, pp. 11–18. IEEE, July 2012Google Scholar
  12. 12.
    Ali, N., Gueheneuc, Y., Antoniol, G.: Trustrace: mining software repositories to improve the accuracy of requirement traceability links. IEEE Trans. Softw. Eng. 39(5), 725–741 (2013)CrossRefGoogle Scholar
  13. 13.
    Lucia, A.D., Penta, M.D., Oliveto, R.: Improving source code lexicon via traceability and information retrieval. IEEE Trans. Softw. Eng. 37(2), 205–227 (2011)CrossRefGoogle Scholar
  14. 14.
    Cleary, B., Exton, C.: The cognitive assignment Eclipse plug-in. In: Proceedings of ICPC 2006, Athens, Greece. IEEE, June 2006Google Scholar
  15. 15.
    Li, Y., Cleland-Huang, J.: Ontology-based trace retrieval. In: Proceedings of TEFSE 2013, San Francisco, USA, pp. 30–36. IEEE, May 2013Google Scholar
  16. 16.
    Dagenais, B., Robillard, M.: Recovering traceability links between an API and its learning resources. In: Proceedings of ICSE 2012, Zurich, Switzerland, pp. 47–57. IEEE, June 2012Google Scholar
  17. 17.
    Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature location in source code: a taxonomy and survey. J. Softw. Evol. Process 25(1), 53–95 (2013)CrossRefGoogle Scholar
  18. 18.
    Dit, B., Moritz, E., Poshyvanyk, D.: A TraceLab-based solution for creating, conducting, and sharing feature location experiments. In: Proceedings of ICPC 2012, Passau, Germany, pp. 203–208. IEEE CS, June 2012Google Scholar
  19. 19.
    Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: The detection and classification of non-functional requirements with application to early aspects. In: Proceedings of RE 2006, St. Paul, USA. IEEE, September 2006Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Jiří Vinárek
    • 1
    • 2
  • Petr Hnětynka
    • 2
  • Viliam Šimko
    • 1
  • Petr Kroha
    • 2
  1. 1.Institute for Program Structures and Data OrganisationKarlsruhe Institute of TechnologyKarlsruheGermany
  2. 2.Department of Distributed and Dependable Systems, Faculty of Mathematics and PhysicsCharles University in PraguePragueCzech Republic

Personalised recommendations