Recovering semantic traceability between requirements and design for change impact analysis

  • Dhikra KchaouEmail author
  • Nadia Bouassida
  • Mariam Mefteh
  • Hanêne Ben-Abdallah
Original Paper


One of the ultimate challenges in change impact analysis is traceability modeling between several software artifacts in the software life cycle. This paper proposes a traceability approach that relates requirements and design artifacts modeled in UML. Our method faces two essential challenges: the semantic ambiguities of requirement artifacts that could be written in different natural languages and the heterogeneity of the artifacts that have to be traced (textual description, UML diagrams, etc.). To face these challenges, our method determines the semantic relationships between the requirements modeled with the use case diagram and design modeled with the class and the sequence diagrams through a semantic model which is an intelligent natural language processing technique that analyzes the semantics among the sentences, regardless of the language they are written with. Thanks to the semantic model our approach compares similarities between words having the same role, which makes it more efficient than computing similarities between words of different kinds. The empirical investigation demonstrates the advantages of the semantic traceability using a semantic model compared to the use of an information retrieval technique.


Requirement change impact UML tf–idf Cosine similarity Semantic model 



  1. 1.
    Akman S, zmut M, Aydn B, Gktrk S (2016) Experience report: implementing requirement traceability throughout the software development life cycle. J Softw Evol Process 28(11):950–954. CrossRefGoogle Scholar
  2. 2.
    Ali M, Abdallah HB, Gargouri F (2005) Towards a validation approach of up conceptual models. In: European conference on model driven architecture, foundations and applications workshop on consistency in model driven engineering, Germany, pp 143–154Google Scholar
  3. 3.
    Antoniol G, Canfora G, Casazza G, De Lucia A, Merlo E (2002) Recovering traceability links between code and documentation. IEEE Trans Softw Eng 28(10):970–983. CrossRefGoogle Scholar
  4. 4.
    Arnold RS (1996) Software change impact analysis. IEEE Computer Society Press, Los AlamitosGoogle Scholar
  5. 5.
    Arora C, Sabetzadeh M, Goknil A, Briand LC, Zimmer F (2015) Change impact analysis for natural language requirements: an NLP approach. In: Zowghi D, Gervasi V, Amyot D (eds) RE. IEEE Computer Society, pp 6–15Google Scholar
  6. 6.
    Badri L, Badri M, St-Yves D (2005) Supporting predictive change impact analysis: a control call graph based technique. In: APSEC. IEEE Computer Society, pp 167–175Google Scholar
  7. 7.
    Baker CF, Fillmore CJ, Lowe JB (1998) The Berkeley framenet project. In: Proceedings of the 17th international conference on computational linguistics—volume 1, association for computational linguistics, Stroudsburg, PA, USA, COLING ’98, pp 86–90.
  8. 8.
    Blom E, Birkeland R, Narverud E (2006) Technical satellite specification. Technical report, INPEGoogle Scholar
  9. 9.
    Bouillon E, Mader P, Philippow I (2013) A survey on usage scenarios for requirements traceability in practice. Springer, Berlin, pp 158–173Google Scholar
  10. 10.
    Briand LC, Labiche Y, O’Sullivan L (2003) Impact analysis and change management of UML models. In: Proceedings of 19th IEEE international conference on software maintenance, pp 256–265Google Scholar
  11. 11.
    Cleland-Huang J, Gotel OCZ, Huffman Hayes J, Mäder P, Zisman A (2014) Software traceability: trends and future directions. In: Proceedings of the on future of software engineering, FOSE 2014. ACM, New York, NY, USA, pp 55–69.
  12. 12.
    Cockburn A (2000) Writing effective use cases, 1st edn. Addison-Wesley Longman Publishing Co., Inc., BostonGoogle Scholar
  13. 13.
    Das A, Ganguly D, Garain U (2017) Named entity recognition with word embeddings and wikipedia categories for a low-resource language. ACM Trans Asian Low Resour Lang Inf Process 16(3):18:1–18:19. CrossRefGoogle Scholar
  14. 14.
    Divya KS, Palaniswami S, Subha R (2014) Similar words identification using naive and tf-idf method. Int J Inf Technol Comput Sci (IJITCS) 6(11):42Google Scholar
  15. 15.
    Egyed A (2007) Fixing inconsistencies in UML design models. In: 29th International conference on software engineering (ICSE), Minneapolis, pp 292–301.
  16. 16.
    Eyl M, Reichmann C, Müller-Glaser K (2017) Traceability in a fine grained software configuration management system. In: Winkler D, Biffl S, Bergsmann J (eds) Software quality. Complexity and challenges of software engineering in emerging technologies. Springer, Cham, pp 15–29CrossRefGoogle Scholar
  17. 17.
    Fillmore C (1929) Framenet project. Accessed Jan 2017
  18. 18.
    Fillmore CJ (1976) Frame semantics and the nature of language. Ann N Y Acad Sci 280(1):20–32. CrossRefGoogle Scholar
  19. 19.
    Frias L, Queralt A, Oliv A (2003) EU-Rent car rentals specification. Technical report. Accessed Apr 2017
  20. 20.
    Göknil A, Kurtev I, van den Berg K (2008) Change impact analysis based on formalization of trace relations for requirements. In: Oldevik J, Olsen GK, Neple T, Paige R (eds) ECMDA traceability workshop (ECMDA-TW), SINTEF report, Trondheim, Norway, pp 59–75. Accessed Dec 2016
  21. 21.
    Gotel O, Cleland-Huang J, Hayes JH, Zisman A, Egyed A, Grünbacher P, Dekhtyar A, Antoniol G, Maletic J, Mäder P (2012b) Traceability fundamentals. Springer, London, pp 3–22Google Scholar
  22. 22.
    Gotel O, Cleland-Huang J, Hayes JH, Zisman A, Egyed A, Grnbacher P, Antoniol G (2012a) The quest for ubiquity: a roadmap for software and systems traceability research. In: 2012 20th IEEE international requirements engineering conference (RE), pp 71–80.
  23. 23.
    Grechanik M, McKinley KS, Perry DE (2007) Recovering and using use-case-diagram-to-source-code traceability links. In: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, ESEC-FSE ’07. ACM, New York, NY, USA, pp 95–104.
  24. 24.
    Hammad M, Collard ML, Maletic JI (2011) Automatically identifying changes that impact code-to-design traceability during evolution. Softw Qual J 19(1):35–64. CrossRefGoogle Scholar
  25. 25.
    Hayes JH, Dekhtyar A, Osborne J (2003) Improving requirements tracing via information retrieval. In: Proceedings of 11th IEEE international requirements engineering conference, 2003, pp 138–147.
  26. 26.
    Jacobson I, Booch G, Rumbaugh J (1999) The unified software development process. Addison-Wesley Longman Publishing Co., Inc., BostonGoogle Scholar
  27. 27.
    Javed MA, Zdun U (2014) A systematic literature review of traceability approaches between software architecture and source code. In: Proceedings of the 18th international conference on evaluation and assessment in software engineering, EASE 14. ACM, New York, NY, USA, pp 16:1–16:10.
  28. 28.
    Kagdi HH, Gethers M, Poshyvanyk D, Collard ML (2010) Blending conceptual and evolutionary couplings to support change impact analysis in source code. In: Antoniol G, Pinzger M, Chikofsky EJ (eds) 17th Working conference on reverse engineering. IEEE Computer Society, pp 119–128Google Scholar
  29. 29.
    Kchaou D, Bouassida N, Ben-Abdallah H (2017) UML models change impact analysis using a text similarity technique. IET Softw 11(1):27–37. CrossRefGoogle Scholar
  30. 30.
    Kchaou D, Bouassida N, Ben-Abdallah H (2015) CQV-UML tool: a tool for managing the impact of change on UML models. In: 27th International conference on software engineering and knowledge engineering, Pittsburgh, PA, USA, pp 670–673Google Scholar
  31. 31.
    Keller A, Demeyer S (2011) Emerging technologies for the evolution and maintenance of software models. IGI Global, Chapter Change Impact Analysis for UML Model Maintenance, p 25Google Scholar
  32. 32.
    Knethen AV, Grund M (2003) QuaTrace: a tool environment for (semi-) automatic impact analysis based on traces. In: Proceedings of international conference on software maintenance, pp 246–255.
  33. 33.
    Li B, Sun X, Leung H, Zhang S (2013) A survey of code-based change impact analysis techniques. Softw Test Verif Reliab 23(8):613–646CrossRefGoogle Scholar
  34. 34.
    Lormans M, van Deursen A (2006) Can LSI help reconstructing requirements traceability in design and test? In: Proceedings of the 10th European conference on software maintenance and reengineering. IEEE Computer Society, pp 47–56.
  35. 35.
    Lucia AD, Fasano F, Oliveto R, Tortora G (2007) Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans Softw Eng Methodol 16(4):13. CrossRefGoogle Scholar
  36. 36.
    Mahmoud A, Niu N (2015) On the role of semantics in automated requirements tracing. Requir Eng 20(3):281–300. CrossRefGoogle Scholar
  37. 37.
    Marcus A, Maletic JI (2003) Recovering documentation-to-source-code traceability links using latent semantic indexing. In: Proceedings of the 25th international conference on software engineering, ICSE ’03. IEEE Computer Society, Washington, DC, USA, pp 125–135. Accessed Dec 2016
  38. 38.
    Marie-Claude L (2016) Terminologie de lenvironnement et smantique des cadres. In: SHS web of conferences, Congrs Mondial de Linguistique Franaise, vol 27, p 14Google Scholar
  39. 39.
    Mefteh M, Bouassida N, Ben-Abdallah H (2016) Mining feature models from functional requirements. Comput J 59(12):1784CrossRefGoogle Scholar
  40. 40.
    Mefteh M, Ben Hamadou A, Knoll R (2012) Ara Pegasus: a new framework for programming using the Arabic natural language. In: International conference on computing and information technology, pp 468–473Google Scholar
  41. 41.
    Miller GA (2015) WordnetGoogle Scholar
  42. 42.
    Nejati S, Sabetzadeh M, Arora C, Briand LC, Mandoux F (2016) Automated change impact analysis between SysML models of requirements and design. In: Proceedings of the 24th ACM SIGSOFT international symposium on foundations of software engineering, FSE 2016. ACM, New York, NY, USA, pp 242–253.
  43. 43.
    Petrenko M, Rajlich V (2009) Variable granularity for improving precision of impact analysis. In: IEEE 17th international conference on program comprehension. IEEE Computer Society, pp 10–19Google Scholar
  44. 44.
    Pimentel J (2010) Description de verbes juridiques au moyen de lasmantique des cadres. Terminologie and Ontologie: Theories et applications 26–27Google Scholar
  45. 45.
    Roques P (2002) UML: modéliser un site ecommerce. Les Cahiers du programmeur, Eyrolles. Accessed Dec 2016
  46. 46.
    Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131–164. CrossRefGoogle Scholar
  47. 47.
    Santos WAD, Martins OA, da Cunha AM (2005) A real time UML modeling for satellite on board software. In: Proceedings of 2nd international conference on recent advances in space technologies, 2005, RAST 2005, pp 228–233.
  48. 48.
    Schmidt T (2009) The Kicktionary a multilingual lexical resource of football language. In: Boas HC (ed) Multilingual framenets in computational lexicography: methods and applicationsGoogle Scholar
  49. 49.
    Schwarz H, Ebert J, Winter A (2010) Graph-based traceability: a comprehensive approach. Softw Syst Model 9(4):473–492. CrossRefGoogle Scholar
  50. 50.
    Scowen RS (1993) Extended BNF—a generic base standard. In: Proceedings of the 1993 software engineering standards symposium (SESS’93). Accessed Dec 2016
  51. 51.
    Shahid M, Ibrahim S (2016) Change impact analysis with a software traceability approach to support software maintenance. In: 2016 13th International Bhurban conference on applied sciences and technology (IBCAST), pp 391–396.
  52. 52.
    Silberztein M (2015) NOOJ. Accessed Jan 2017
  53. 53.
    Singhal A (2001) Modern information retrieval: a brief overview. Bull IEEE Comput Soc Tech Comm Data Eng 24(4):35–43Google Scholar
  54. 54.
    Vossen P (2001) Eurowordnet project. Accessed Jan 2017
  55. 55.
    Winkler S, Pilgrim J (2010) A survey of traceability in requirements engineering and model-driven development. Softw Syst Model 9(4):529–565CrossRefGoogle Scholar
  56. 56.
    Yue T, Briand LC, Labiche Y (2015) aToucan: an automated framework to derive UML analysis models from use case models. ACM Trans Softw Eng Methodol 24(3):13:1–13:52. CrossRefGoogle Scholar
  57. 57.
    Zimmermann T, Weisgerber P, Diehl S, Zeller A (2004) Mining version histories to guide software changes. In: Proceedings of the 26th international conference on software engineering, ICSE ’04. IEEE Computer Society, Washington, DC, USA, pp 563–572. Accessed Dec 2017
  58. 58.
    Zisman A, Spanoudakis G, Perez-Minana E, Krause P (2003) Tracing software requirements artifacts. In: 2003 International conference on software engineering research and practice (SERP’03), 2003, Las Vegas, pp 448–455Google Scholar

Copyright information

© Springer-Verlag London Ltd., part of Springer Nature 2019

Authors and Affiliations

  1. 1.MIRACL LaboratorySfax UniversitySfaxTunisia
  2. 2.College of Science and Arts at Al-RassQassim UniversityBuraydahKingdom of Saudi Arabia
  3. 3.IS Department, FCITKing Abdulaziz UniversityJeddahKingdom of Saudi Arabia

Personalised recommendations