Abstract
Traceability allows engineers to trace and monitor the relationships between software artifacts. Monitoring these relationships is vital to many software engineering activities such as software understanding and reuse. Grasping these relationships is studied in the framework of Requirement Traceability Recovery (RTR). RTR is vital to software reuse as it allows the identification and comparison of requirements of new and existing systems, and hence the reuse of software system components. Due to the difficulties in recovering the traceability links manually, only few software development processes take the monitoring of these relationships fully into account. Many attempts to automate the RTR task that enjoyed some success are based on methods from the field of information retrieval. However, these methods only concentrate on calculating the textual similarity between various software artifacts and do not take into account other properties of the artifacts. In this paper, we propose a search-based RTR approach using genetic algorithms, that relies not only on semantic similarity between software artifacts, but also takes into account the history of reuse of the artifacts, and incorporates knowledge into RTR in the form of user (designer/developer) feedback. Experimental results show that the approach is promising.


















Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Mäder P, Egyed A (2012) Assessing the effect of requirements traceability for software maintenance. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), IEEE
Adithya V, Deepak G (2021) OntoReq: an ontology focused collective knowledge approach for requirement traceability modelling. European, Asian, Middle Eastern, North African conference on management & information systems. Springer, Berlin
Falessi D et al (2017) Estimating the number of remaining links in traceability recovery. Empir Softw Eng 22(3):996–1027
Pandian R, Kumar A (2019) Enhanced requirement traceability link using developer’s updated activity. Modeling methods for business information systems analysis and design. IGI Global, London, pp 78–92
Zhao T, Cao Q, Sun, Q (2017) An improved approach to traceability recovery based on word embeddings. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), IEEE
Sale VM et al (2021) An effective approach for accuracy of requirement traceability in DevOps. Techno-societal 2020. Springer, Berlin, pp 623–637
Kuang H et al (2017) Analyzing closeness of code dependencies for improving IR-based Traceability Recovery. In: 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), IEEE
Ali N et al (2019) Exploiting parts-of-speech for effective automated requirements traceability. Inf Softw Technol 106:126–141
Santos LRJ et al (2020) Improving traceability recovery between bug reports and manual test cases. In: Proceedings of the 34th Brazilian Symposium on Software Engineering
Chhabra JK (2017) Requirements traceability through information retrieval using dynamic integration of structural and co-change coupling. International conference on advanced informatics for computing research. Springer, Berlin
Saputri TRD, Lee S-W (2016) Ensuring traceability in modeling requirement using ontology based approach. In: Ch M (ed) Asia Pacific requirements engineering conference. Springer, Berlin
Kuang H et al (2019) Using frugal user feedback with closeness analysis on code to improve IR-based traceability recovery. In: 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC), IEEE
Gadelha G, Ramalho F, Massoni T (2021) Traceability recovery between bug reports and test cases-a Mozilla Firefox case study. Autom Softw Eng 28(2):1–46
Gazzawe F (2021) Requirement artefacts: finding the missing link, framework to support requirement traceability for software developers. Loughborough University, Loughborough
Niu N, Wang W, Gupta A (2016) Gray links in the use of requirements traceability. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
Blasco D, Cetina C, Pastor O (2020) A fine-grained requirement traceability evolutionary algorithm: Kromaia, a commercial video game case study. Inf Softw Technol 119:106235
Ali N, Guéhéneuc YG, Antoniol G (2013) Trustrace: mining software repositories to improve the accuracy of requirement traceability links. IEEE Trans Softw Eng 39(5):725–741
Li T et al (2020) Combining machine learning and logical reasoning to improve requirements traceability recovery. Appl Sci 10(20):7253
Panichella A et al (2013) When and how using structural information to improve ir-based traceability recovery. In: 2013 17th European Conference on Software Maintenance and Reengineering, IEEE
Wang H et al (2021) Analyzing close relations between target artifacts for improving IR-based requirement traceability recovery. Front Inf Technol Electron Eng 22(7):957–968
Rodriguez DV, Carver DL (2019) Comparison of information retrieval techniques for traceability link recovery. In: 2019 IEEE 2nd International Conference on Information and Computer Technologies (ICICT), IEEE
Ogheneovo E, Japheth R (2016) Application of vector space model to query ranking and information retrieval. Int J Adv Res Comput Sci Softw Eng 6(5):42–47
Moran K et al (2020) Improving the effectiveness of traceability link recovery using hierarchical bayesian networks. In: 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE), pp 873–885
Hayes J et al (2007) Requirements tracing on target (RETRO): improving software maintenance through traceability recovery. Innov Syst Softw Eng 3(3):193–202
Hayes JH, Dekhtyar A, Payne J (2018) The requirements tracing on target (RETRO). NET Dataset. In: 2018 IEEE 26th International Requirements Engineering Conference (RE), IEEE
Nattoch DJ et al (2005) A linguistic-engineering approach to large-scale requirements management. IEEE Softw 22(1):32–39
Jun L et al (2006) Poirot: a distributed tool supporting enterprise-wide automated traceability. In: 14th IEEE International Conference Requirements Engineering (RE'06) 2006
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 (CSMR'06) 2006
De Lucia A et al (2005) ADAMS Re-trace: a traceability recovery tool. In: 9th European Conference onSoftware Maintenance and Reengineering (CSMR'05) 2005
Florez JM (2019) Automated fine-grained requirements-to-code traceability link recovery. In: 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), IEEE
Zhang Y, Wan C, Jin B (2016) An empirical study on recovering requirement-to-code links. In: 2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), IEEE
McMillan C, Poshyvanyk D, Revelle M (2009) Combining textual and structural analysis of software artifacts for traceability link recovery. In: 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering, IEEE
Sundaram SK et al (2010) Assessing traceability of software engineering artifacts. Requir Eng 15(3):313–335
Harman M, Mansouri SA, Zhang Y (2012) Search-based software engineering: Trends, techniques and applications. ACM Comput Surv 45(1):1–61
Mahmood S, Ahmed M, Alshayeb M (2013) Reuse environments for software artifacts: Analysis framework. In: 2013 IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS), IEEE
Krueger CW (1992) Software reuse. ACM Comput Surv (CSUR) 24(2):131–183
Frakes WB, Kang K (2005) Software reuse research: status and future. IEEE Trans Softw Eng 31(7):529–536
Morisio M, Ezran M, Tully C (2002) Success and failure factors in software reuse. IEEE Trans Softw Eng 28(4):340–357
Keswani R, Joshi S, Jatain A (2014) Software reuse in practice. In: 2014 Fourth International Conference on Advanced Computing and Communication Technologies, IEEE
Sherif K, Appan R, Lin Z (2006) Resources and incentives for the adoption of systematic software reuse. Int J Inf Manag 26(1):70–80
Sommerville I (2011). In: Horton M (ed) Software engineering, 9th edn. Pearson Education, Inc., Addison-Wesley, ISBN: 0-13-703515-2, 978-0-13-703515-1
Heinemann L (2012) Effective and efficient reuse with software libraries. Technische Universität München, München
Mojica IJ et al (2013) A large-scale empirical study on software reuse in mobile apps. IEEE Softw 31(2):78–86
Buccella A et al (2013) Towards systematic software reuse of gis: insights from a case study. Comput Geosci 54:9–20
Lliteras AB et al (2020) Development, reuse, and repurposing of software artifacts in Digital Citizen Science. Are we reinventing the wheel? In: The VI Iberoamerican Conference of Computer Human Interaction, K.R.-P.a.K.O. Villalba-Condori, Editor. 2020: Arequipa, Perú, September 16–18, 2020
Capilla R et al (2019) Opportunities for software reuse in an uncertain world: From past to emerging trends. J Softw 31(8):217
Mikkonen T, Taivalsaari A (2019) Software reuse in the era of opportunistic design. IEEE Softw 36(3):105–111
Mäkitalo N et al (2020) On opportunistic software reuse. Computing 102(11):2385–2408
Krüger J, Berger T (2020) An empirical analysis of the costs of clone-and platform-oriented software reuse. In: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Zhang H et al (2016) Bing developer assistant: improving developer productivity by recommending sample code. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
Wang Y, Feng Y, Martins R, Kaushik A, Dillig I, Reiss SP (2016) Type-directed code reuse using integer linear programming. arXiv preprint https://arxiv.org/abs/1608.07745. Accessed 26 Nov 2021
Colvin E, Kraft DH (2016) Fuzzy retrieval for software reuse. J Am Soc Inf Sci 67(10):2454–2463
Selby RW (2005) Enabling reuse-based software development of large-scale systems. IEEE Trans Software Eng 31(6):495–510
Spanoudakis G, Zisman A (2005) Software traceability: a roadmap. Handbook of software engineering and knowledge engineering: vol 3: recent advances. World Scientific, London, pp 395–428
Pohl K (1996) Process-centered requirements engineering. John Wiley and Sons Inc, New Jersey
Pohl K, Rupp C (2015). In: Barabas M (ed) Requirements engineering fundamentals: a study guide for the certified professional for requirements engineering exam—foundation level—IREB compliant, 2nd edn. Rocky Nook Inc., ISBN: 978-1-937538-77-4
Egyed A, Grunbacher P (2002) Automating requirements traceability: beyond the record & replay paradigm. In: Proceedings 17th IEEE International Conference on Automated Software Engineering, IEEE.
Gotel OCZ, Finkelstein ACW (1994) An analysis of the requirements traceability problem. In: Proceedings of the First International Conference on Requirements Engineering (RE94)
Kaindl H (1993) The missing link in requirements engineering. ACM SIGSOFT Softw Eng Notes 18(2):30–39
Lindvall M, Sandahl K (1996) Practical implications of traceability. Software 26(10):1161–1180
Ramesh B, Dhar V (1992) Supportin systems development using knowledge captured during requirements engineering. IEEE Trans Softw Eng 9(2):498–510
Spanoudakis G et al (2004) Rule-Based Generation of Requirements Traceability Relations. J Syst Softw 72:105–127
Spanoudakis G et al (2004) Rule-based generation of requirements traceability relations. J Syst Softw 72(2):105–127
Elamin R, Osman R (2018) Implementing traceability repositories as graph databases for software quality improvement. In: 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS), IEEE
Antoniol G et al (2002) Recovering traceability links between code and documentation. IEEE Trans Softw Eng 28(10):970–983
Nagano S, Ichikawa Y, Kobayashi T (2012) Recovering traceability links between code and documentation for enterprise project artifacts. In: 2012 IEEE 36th Annual Computer Software and Applications Conference, IEEE
Marcus A, Maletic JI (2003) Recovering documentation-to-source-code traceability links using latent semantic indexing. In: 25th International Conference on Software Engineering, Proceedings, IEEE
Mäder P, Gotel O, Philippow I (2009) Enabling automated traceability maintenance through the upkeep of traceability relations. In: Ch M (ed) European conference on model driven architecture-foundations and applications. Springer, Berlin
Mäder P, Gotel O (2012) Towards automated traceability maintenance. J Syst Softw 85(10):2205–2227
Cleland-Huang J, Chang CK, Ge Y (2002) Supporting event based traceability through high-level recognition of change events. In: Proceedings 26th Annual International Computer Software and Applications, IEEE
Pinheiro FA, Goguen JA (1996) An object-oriented tool for tracing requirements. IEEE Softw 13(2):52–64
Drivalos-Matragkas N et al (2010) A state-based approach to traceability maintenance. In: Proceedings of the 6th ECMFA Traceability Workshop
Lago P, Muccini H, Van Vliet H (2009) A scoped approach to traceability management. J Syst Softw 82(1):168–182
Mader P, Gotel O, Philippow I (2009) Getting back to basics: Promoting the use of a traceability information model in practice. In: 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering, IEEE
Elamin R, Osman R (2017) Towards requirements reuse by implementing traceability in agile development. In: 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), IEEE
Ramesh B (1998) Factors influencing requirements traceability practice. Commun ACM 41(12):37–44
Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Software Eng 27(1):58–93
Schwarz H, Ebert J, Winter A (2010) Graph-based traceability: a comprehensive approach. Softw Syst Model 9(4):473–492
Aizenbud-Reshef N et al (2006) Model traceability. IBM Syst J 45(3):515–526
Asuncion HU, François F, Taylor RN (2007) An end-to-end industrial software traceability tool. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
Witte R, Zhang Y, Rilling J (2007) Empowering software maintainers with semantic web technologies. European semantic web conference. Springer, Berlin
Sommerville I, Sawyer P (1997) RE: a good practice guide. John Wiley and Sons, New Jersey
Winkler S, von Pilgrim J (2010) A survey of traceability in requirements engineering and model-driven development. Softw Syst Model 9(4):529–565
Dorfman M, Thayer RH (eds) (1990) Standards, guidelines and examples on system and software requirements engineering. In: IEEE computer society press tutorial volume 303; volume 305 of IEEE catalog. EHO. IEEE Computer Society Press. ISBN: 081865922X, 9780818659225
Bayer J, Widen T (2001) Introducing traceability to product lines. International workshop on software product-family engineering. Springer, Berlin
Dick J (2002) Rich traceability. IEEE Softw 22:14–16
Ali N, Gueheneuc YG, Antoniol G (2011) Requirements traceability for object oriented systems by partitioning source code. In: 2011 18th Working Conference on Reverse Engineering, IEEE
Tsuchiya R et al (2013) Recovering traceability links between requirements and source code in the same series of software products. In: Proceedings of the 17th International Software Product Line Conference
Ali N, Guéhéneuc YG, Antoniol G (2011) Trust-based requirements traceability. In: 2011 IEEE 19th International Conference on Program Comprehension, IEEE
Li Z et al (2015) Recovering traceability links in requirements documents. In: Proceedings of the Nineteenth Conference on Computational Natural Language Learning
Aung TWW, Huo H, Sui Y (2020) A literature review of automatic traceability links recovery for software change impact analysis. In: Proceedings of the 28th International Conference on Program Comprehension
Erata F et al (2017) Tarski: a platform for automated analysis of dynamically configurable traceability semantics. In: Proceedings of the Symposium on Applied Computing 2017.
Goknil A, Kurtev I, Van Den Berg K (2014) Generation and validation of traces between requirements and architecture based on formal trace semantics. J Syst Softw 88:112–137
Cleland-Huang J et al (2007) Best practices for automated traceability. Computer 40(6):27–35
Lormans M, Van Deursen A (2005) Reconstructing requirements coverage views from design and test using traceability recovery via LSI. In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering
Harry B (2011) The importance of feedback in software development. https://devblogs.microsoft.com/bharry/the-importance-of-feedback-in-software-development/. Accessed 26 Nov 2021
Karahasanoviæ A et al (2005) Collecting feedback during software engineering experiments. Empir Softw Eng 10(2):113–147
Morales-Ramirez I, Perini A, Guizzardi RS (2015) An ontology of online user feedback in software engineering. Appl Ontol 10(3–4):297–330
Vargas EL et al (2018) Enabling real-time feedback in software engineering. In: Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results
Johanssen JO et al (2019) How do practitioners capture and utilize user feedback during continuous software engineering? In: 2019 IEEE 27th International Requirements Engineering Conference (RE), IEEE
Goldberg ED (1989) Genetic algorithms in search optimization and machine learning. Addison-Wesley Longman Publishing Co., Inc, Boston, p 372
Mitchell M (1998) An introduction to genetic algorithms. MIT Press, Cambridge, p 209
Harbich S (2007) Einführung genetischer algorithmen mit anwendungsbeispiel. Universität Magdeburg, December, 2007
Araújo AA et al (2017) An architecture based on interactive optimization and machine learning applied to the next release problem. Autom Softw Eng 24(3):623–671
Kaliakatsos-Papakostas MA, Floros A, Vrahatis MN (2016) Interactive music composition driven by feature evolution. Springerplus 5(1):1–38
Khajeh M, Payvandy P, Derakhshan SJ (2016) Fashion set design with an emphasis on fabric composition using the interactive genetic algorithm. Fash Text 3(1):1–16
Johnston VS, Caldwell C (1997) Tracking a criminal suspect through face space with a genetic algorithm (Chapter: G8.3). In: Bäck T, Fogel DB, Michalewicz Z (eds) Handbook of Evolutionary Computation, release 97/1. IOP Publishing Ltd and Oxford University Press, pp G8.3:1–G8.3:8. https://b-ok.asia/book/703833/4a78e6
Kim H-S, Cho S-B (2000) Application of interactive genetic algorithm to fashion design. Eng Appl Artif Intell 13(6):635–644
Tokui N, Iba H (2000) Music composition with interactive evolutionary computation. In: Proceedings of the Third International Conference on Generative Art
Takagi H, Ohsaki M (2007) Interactive evolutionary computation-based hearing aid fitting. Evolut Comput IEEE Trans 11(3):414–427
Takagi H (2001) Interactive evolutionary computation: fusion of the capabilities of EC optimization and human evaluation. Proc IEEE 89(9):1275–1296
Mwangi W, Cheruiyot W (2017) A survey of information retrieval techniques. Adv Netw 5(2):40
Saleem M, Minhas NM (2018) Information retrieval based requirement traceability recovery approaches-a systematic literature review. Univ Sindh J Inf Commun Technol 2(4):180–188
Gudivada VN, Rao D, Gudivada AR (2018) Information retrieval: concepts, models, and systems. Elsevier, Amsterdam
Abu-Salih B (2018) Applying vector space model (VSM) techniques in information retrieval for arabic language. arXiv preprint https://arxiv.org/abs/1801.03627. Accessed 26 Nov 2021
Van Nguyen T et al (2017) Combining word2vec with revised vector space model for better code retrieval. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), IEEE.
Marcus A, Maletic JI, Sergeyev A (2005) Recovery of traceability links between software documentation and source code. Int J Softw Eng Knowl Eng 15(05):811–836
Lapeña R et al (2018) Exploring new directions in traceability link recovery in models: The process models case. International conference on advanced information systems engineering. Springer, Berlin
Wang X, Lai G, Liu C (2009) Recovering relationships between documentation and source code based on the characteristics of software engineering. Electron Notes Theor Comput Sci 243:121–137
Tsuchiya R et al (2015) Recovering traceability links between requirements and source code using the configuration management log. IEICE Trans Inf Syst 98(4):852–862
De Lucia A et al (2013) Applying a smoothing filter to improve ir-based traceability recovery processes: An empirical investigation. Inf Softw Technol 55(4):741–754
Winkler S (2009) Trace retrieval for evolving artifacts. In: 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering, IEEE
Panichella A, De Lucia A, Zaidman A (2015) Adaptive user feedback for ir-based traceability recovery. In: 2015 IEEE/ACM 8th International Symposium on Software and Systems Traceability, IEEE
Alvarez-Rodríguez JM et al (2020) Semantic recovery of traceability links between system artifacts. Int J Softw Eng Knowl Eng 30(10):1415–1442
Rodriguez DV, Carver DL (2020) An IR-based artificial bee colony approach for traceability link recovery. In: 2020 IEEE 32nd International Conference on Tools with Artificial Intelligence (ICTAI), IEEE
Tinnes C et al (2019) Ideas on improving software artifact reuse via traceability and self-awareness. In: 2019 IEEE/ACM 10th International Symposium on Software and Systems Traceability (SST), IEEE
Mills C et al (2017) Predicting query quality for applications of text retrieval to software engineering tasks. ACM Trans Softw Eng Methodol (TOSEM) 26(1):1–45
Bäck T (1996) Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms. Oxford University Press, Oxford, p 314
Chang-Yong L (2003) Entropy-Boltzmann selection in the genetic algorithms. IEEE Trans Syst Man Cybern Part B 33(1):138–149
Miller BL, Goldberg DE (1996) Genetic algorithms, selection schemes, and the varying effects of noise. Evol Comput 4(2):113–131
Baker JE (1985) Adaptive selection methods for genetic algorithms. Proceedings of the 1st international conference on genetic algorithms. L Erlbaum Associates Inc, Berlin, pp 101–111
Durillo JJ et al (2009) On the effect of the steady-state selection scheme in multi-objective genetic algorithms. In: Ehrgott M (ed) Evolutionary multi-criterion optimization: 5th international conference, EMO 2009, Nantes, France, April 7–10. Springer, Berlin, pp 183–197
Said MABM (2007) Comparison for selection techniques in genetic algorithm in faculty of computer systems and software engineering. University College of Engineering and Technology, Malaysia, p 180
Mayilvaganan M, Geethamani GS (2015) Analysis of roulette wheel selection and steady state selection using genetic algorithm techniques. Int J Comput Organ Trends 20(1):21–25
Jain A et al (2017) Information retrieval using cosine and jaccard similarity measures in vector space model. Int J Comput Appl 164(6):28–30
Havrlant L, Kreinovich V (2017) A simple probabilistic explanation of term frequency-inverse document frequency (tf-idf) heuristic (and variations motivated by this explanation). Int J Gen Syst 46(1):27–36
Wohlin C et al (2000) Experimentation in software engineering-an introduction. Kluwer Academic Publishers, Doedrecht
Oliveto R et al (2010) On the equivalence of information retrieval methods for automated traceability link recovery. In: 2010 IEEE 18th International Conference on Program Comprehension, IEEE
Ben CE et al (2011) Towards a benchmark for traceability. In: Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Antoniol G et al (2000) Information retrieval models for recovering traceability links between code and documentation. In: Proceedings of the International Conference on Software Maintenance (ICSM'00), IEEE Computer Society, p 40
Gethers M et al (2011) On integrating orthogonal information retrieval methods to improve traceability recovery. In: 27th IEEE International Conference on Software Maintenance (ICSM'11)
Mehlhorn K, Näher S (1999) LEDA: A platform for combinatorial and geometric computing. Cambridge University Press, Cambridge
Arora M, Kanjilal U, Varshney D (2016) Evaluation of information retrieval: precision and recall. Int J Indian Cult Bus Manag 12(2):224–236
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Hamdi, M.S., Ghannem, A. & Kessentini, M. Requirements traceability recovery for the purpose of software reuse: an interactive genetic algorithm approach. Innovations Syst Softw Eng 18, 193–213 (2022). https://doi.org/10.1007/s11334-021-00418-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-021-00418-2