Abstract
In recent years, traceability has been globally accepted as being a key success factor of software development projects. However, the multitude of different, poorly integrated taxonomies, approaches and technologies impedes the application of traceability techniques in practice. This paper presents a comprehensive view on traceability, pertaining to the whole software development process. Based on the state of the art, the field is structured according to six specific activities related to traceability as follows: definition, recording, identification, maintenance, retrieval, and utilization. Using graph technology, a comprehensive and seamless approach for supporting these activities is derived, combining them in one single conceptual framework. This approach supports the definition of metamodels for traceability information, recording of traceability information in graph-based repositories, identification and maintenance of traceability relationships using transformations, as well as retrieval and utilization of traceability information using a graph query language. The approach presented here is applied in the context of the ReDSeeDS project (Requirements Driven Software Development System) that aims at requirements-based software reuse. ReDSeeDS makes use of traceability information to determine potentially reusable architectures, design, or code artifacts based on a given set of reusable requirements. The project provides case studies from different domains for the validation of the approach.
Similar content being viewed by others
References
Aizenbud-Reshef N., Nolan B.T., Rubin J., Shaham-Gafni Y.: Model traceability. IBM Syst. J. 45(3), 515–526 (2006)
Aizenbud-Reshef, N., Paige, R.F., Rubin, J., Shaham-Gafni, Y., Kolovos, D.S.: Operational semantics for traceability. In: ECMDA Traceability Workshop (ECMDA-TW) 2005 Proceedings (2005)
Ambroziewicz, A, Bojarski, J., Nowakowski, W., Straszak, T.: Can precise requirements models drive software case reuse? In: Proceedings of the 2nd International Workshop on Model Reuse Strategies (MoRSe 2008), pp. 27–34 (2008)
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)
Asuncion, H.U., François, F., Taylor, R.N.: 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 (ESEC-FSE ’07), pp. 115–124 (2007)
Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the VIATRA model transformation system. In: GRaMoT ’08: Proceedings of the Third International Workshop on Graph and Model Transformations, pp. 25–32 (2008)
Bildhauer, D., Ebert, J., Horn, T., Hotz, L., Knab, S., Riediger, V., Wolter, K.: Final software case query language definition. Project Deliverable D4.1.2, ReDSeeDS Project (2009, to appear)
Bildhauer, D., Ebert, J., Riediger, V., Krebs, T., Nick, M., Schwarz, H., Kalnins, A., Kalnina, E., Nick, M., Schneickert, S., Celms, E., Wolter, K., Ambroziewicz, A., Bojarski, J.: Repository selection report. Project Deliverable D4.4, ReDSeeDS Project (2007)
Bildhauer, D., Ebert, J., Riediger, V., Schwarz, H.: Using the TGraph approach for model fact repositories. In: Proceedings of the 2nd International Workshop MoRSe 2008: Model Reuse Strategies–Can requirements drive reuse of software models? pp. 9–18 (2008)
Bildhauer, D., Ebert, J., Riediger, V., Wolter, K., Nick, M., Jedlitschka, A., Weber, S., Schwarz, H., Ambroziewicz, A., Bojarski, J., Straszak, T., Kavaldjian, S., Popp, R., Szep, A.: Software case marking language definition. Project Deliverable D4.3, ReDSeeDS Project (2007)
Böhlen B.: Ein parametrisierbares Graph-Datenbanksystem für Entwicklungswerkzeuge. Shaker Verlag, Aachen (2006)
Bojarski, J., Straszak, T., Ambroziewicz, A., Nowakowski, W.: Transition from precisely defined requirements into draft architecture as an MDA realisation. In: Proceedings of the 2nd International Workshop MoRSe 2008: Model Reuse Strategies–Can requirements drive reuse of software models? pp. 35–42 (2008)
Cleland-Huang J., Chang C.K., Christensen M.: Event-based traceability for managing evolutionary change. IEEE Trans. Softw. Eng. 29(9), 796–810 (2003)
Cysneiros, G., Zisman, A.: Traceability and completeness checking for agent-oriented systems. In: Proceedings of the 2008 ACM symposium on Applied computing (SAC ’08), pp. 71–77 (2008)
Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Dick, J.: Rich traceability. In: Proceedings of the 1st International Workshop on Traceability in Emerging Forms of Software Engineering (2002)
Del Fabro, M.D., Bézivin, J., Valduriez, P.: Weaving models with the eclipse AMW plugin. In: Eclipse Modeling Symposium, Eclipse Summit Europe 2006 (2006)
Drivalos, N., Kolovos, D.S., Paige, R.F., Fernandes, K.J.: Engineering a DSL for software traceability. In: Software Language Engineering: First International Conference, SLE 2008, Toulouse, France, 29–30 Sept 2008. Revised Selected Papers, pp. 151–167 (2008)
Ebert, J., Franzke, A.: A declarative approach to graph based modeling. In: Graphtheoretic Concepts in Computer Science, pp. 38–50 (1995)
Ebert, J., Bildhauer, D.: Querying software abstraction graphs. In: Proceedings of Query Technologies and Applications for Program Comprehension (QTAPC 2008) (2008)
Ebert, J., Horn, T.: The GReTL transformation language. Internal Report (2009, to appear)
Ebert, J., Kullbach, B., Riediger, V., Winter, A.: GUPRO. Generic understanding of programs—an overview. Electron. Notes Theor. Comput. Sci. 72(2) (2002). http://www.elsevier.nl/locate/entcs/volume72.html.
Ebert, J., Riediger, V., Winter, A.: Graph technology in reverse engineering, the tgraph approach. In: Gimnich, R., Kaiser, U., Quante, J., Winter, A. (eds.) Proceedings of the 10th Workshop Software Reengineering (WSR 2008). In: GI Lecture Notes in Informatics, vol. 126, pp. 67–81 (2008)
Espinoza, A., Alarcón, P.P., Garbajosa, J.: Analyzing and systematizing current traceability schemas. In: Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop SEW-30 (SEW ’06), pp. 21–32 (2006)
Glabbeek, R., Ploeger, B.: Five determinisation algorithms. In: Proceedings of the 13th International Conference on Implementation and Applications of Automata (CIAA ’08), pp. 161–170 (2008)
Goknil, A., Kurtev, I., van den Berg, K.: Change impact analysis based on formalization of trace relations for requirements. In: ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings, pp. 59–75 (2008)
Gotel, O.C.Z., Finkelstein, A.C.W.: An analysis of the requirements traceability problem. In: Proceedings of the 1st International Conference on Requirements Engineering, pp. 94–102 (1994)
Grechanik, M., McKinley, K.S., Perry, D.E.: 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) (2007)
Holt R.C., Schürr A., Elliott Sim S., Andreas W.: GXL: a graph-based standard exchange format for reengineering. Sci. Comput. Program. 60(2), 149–170 (2005)
Horn T.: Ein Optimierer für GReQL2. Grin Verlag, Munich (2009)
Hayes J.H., Dekhtyar A., Sundaram S.K.: Advancing candidate link generation for requirements tracing: the study of methods. IEEE Trans. Softw. Eng. 32(1), 4–19 (2006)
IEEE: IEEE Standard Glossary of Software Engineering Terminology, IEEE Std 610.12-1990 (1990)
Jouault, F.: Loosely coupled traceability for ATL. In: ECMDA Traceability Workshop (ECMDA-TW) 2005 Proceedings, pp. 29–37 (2005)
Kaindl H.: The missing link in requirements engineering. SIGSOFT Softw. Eng. Notes 18(2), 30–39 (1993)
Kalnins, A., Barzdins, J., Celms, E.: Model transformation language MOLA. In: Model Driven Architecture: Foundations and Applications (MDAFA) (2004)
Kalnins, A., Celms, E., Sostaks, A.: Tool support for MOLA. In: Proceedings of the Workshop on Graph and Model Transformation (GraMoT), pp. 162–163 (2005)
Kalnins, A., Kalnina, E., Celms, E., Sostaks, A., Schwarz, H., Ambroziewicz, A., Bojarski, J., Nowakowski, W., Straszak, T., Kavaldjian, S., Falb, J.: Reusable Case Transformation Rule Specification. Project Deliverable D3.3, ReDSeeDS Project (2007)
Kamp, M.: Managing a Multi-File, Multi-Language Software Repository for Program Comprehension Tools: A Generic Approach. Technical Report 1/98, Universität Koblenz-Landau, Institut für Informatik (1998)
Kiesel N., Schürr A., Westfechtel B.: a graph oriented (software) engineering database system. Inf. Syst. 20(1), 21–51 (1995)
Krebs, T., Nowakowski, W., Kalnins, A., Kalnina, E.: Modelling and transformation language validation report. Project Deliverable D3.4, ReDSeeDS Project (2007)
Kullbach, B., Winter, A.: Querying as an enabling technology in software reengineering. In: Verhoef, C., Nesi, P. (eds.) Proceedings of the 3rd Euromicro Conference on Software Maintenance and Reengineering, pp. 42–50 (1999)
Kurtev, I., Dee, M., Goknil, A., van der Berg, K.: Traceability-based change management in operational mappings. In: ECMDA Traceability Workshop (ECMDA-TW) 2007 Proceedings, pp. 57–67 (2007)
Mäder, P., Gotel, O., Philippow, I.: Rule-based maintenance of post-requirements traceability relations. In: Proceedings of the 16th IEEE International Requirements Engineering Conference, pp. 23–32 (2008)
Maletic, J.I., Collard, M.L., Simoes, B.: An XML based approach to support the evolution of model-to-model traceability links. In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 67–72 (2005)
Marcus, A., Xie, X., Poshyvanyk, D.: When and how to visualize traceability links? In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 56–61 (2005)
Mehlhorn, K., Näher, S., Uhrig, C.: The LEDA platform of combinatorial and geometric computing. In: Proceedings of the 24th International Colloquium on Automata, Languages and Programming (ICALP ’97), pp. 7–16 (1997)
Moon, M., Chae, H.S., Nam, T., Yeom, K.: A metamodeling approach to tracing variability between requirements and architecture in software product lines. In: Proceedings of the 7th IEEE International Conference on Computer and Information Technology, pp. 927–933 (2007)
Object Management Group: OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2. (2007)
Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.0. (2008)
Pinheiro, F.A.C.: Formal and informal aspects of requirements tracing. In: Anais do WER00—Workshop em Engenharia de Requisitos 2000 (2000)
Pinheiro F.A.C., Goguen J.A.: An object-oriented tool for tracing requirements. IEEE Soft. 13(2), 52–64 (1996)
Pohl, K.: Process-Centered Requirements Engineering. Research Studies Press Ltd, Taunton, Somerset (1996)
Ramesh B., Jarke M.: Toward reference models for requirements traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001)
Schwarz, H., Ebert, J., Riediger, V., Winter, A.: Towards querying of traceability information in the context of software evolution. In: 10th Workshop Software Reengineering (WSR 2008) (2008)
Sherba, S.A., Anderson, K.M., Faisal, M.: A framework for mapping traceability relationships. In: Proceedings of the 2nd International Workshop on Traceability in Emerging Forms of Software Engineering (2003)
Śmiałek, M.: Towards a requirements driven software development system. Poster presentation at MoDELS (2006)
Sostaks, A., Kalnins, A.: The implementation of MOLA to L3 compiler. In: Computer Science and Information Technologies. Scientific Papers University of Latvia, vol. 733. Latvijas Universitate (2008)
Spanoudakis, G., Zisman, A.: Software traceability: a roadmap. In: Chang, S.K. (ed) Handbook of Software Engineering & Knowledge Engineering: Recent Advances, vol. 3, pp. 395–428. World Scientific Publishing Company, River Edge, NJ (2005)
von Knethen, A., Paech, B.: A survey on tracing approaches in theory and practice. Technical Report 095.01/E, Fraunhofer IESE (2002)
Weiser M.: Program slicing. IEEE Trans. Softw. Eng. 10(4), 352–357 (1984)
Winter, A.: Referenz-Metaschema für visuelle Modellierungssprachen. DUV Informatik, Deutscher Universitätsverlag (2000)
Witte, R., Zhang, Y., Rilling, J.: Empowering software maintainers with semantic Web technologies. In: Proceedings of the 4th European Semantic Web Conference (ESCW 2007), pp. 37–52 (2007)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Richard Paige.
Rights and permissions
About this article
Cite this article
Schwarz, H., Ebert, J. & Winter, A. Graph-based traceability: a comprehensive approach. Softw Syst Model 9, 473–492 (2010). https://doi.org/10.1007/s10270-009-0141-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0141-4