Abstract
Product line engineering has been increasingly used to support the development and deployment of software systems that share a common set of features and are developed based on the reuse of core assets. The large number and heterogeneity of documents generated during the development of product line systems may cause difficulties to identify common and variable aspects among applications, and to reuse core assets that are available under the product line. In this paper, we present a traceability approach for product line systems. Traceability has been recognised as an important task in software system development. Traceability relations can improve the quality of the product being developed and reduce development time and cost. We present a rule-based approach to support automatic generation of traceability relations between feature-based object-oriented documents. We define a traceability reference model with nine different types of traceability relations for eight types of documents. The traceability rules used in our work are classified into two groups namely (a) direct rules, which support the creation of traceability relations that do not depend on the existence of other relations, and (b) indirect rules, which require the existence of previously generated relations. The documents are represented in XML and the rules are represented in an extension of XQuery. A prototype tool called XTraQue has been implemented. This tool, together with a mobile phone product line case study, has been used to demonstrate and evaluate our work in various experiments. The results of these experiments are encouraging and comparable with other approaches that support automatic generation of traceability relations.
Similar content being viewed by others
References
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
Atkinson, C., Bayer, J. et al.: Component-based product line development: The KobrA approch, the first software product line conference, SPLC, Denver (2000)
Bayer, J., Widen, T.: Introducing traceability to product lines, software product-family engineering. In: The 4th International Workshop, PFE 2001, Spain, October 3–5, 2001. Lecture Notes in Computer Science, vol 2290. Springer, Heidelberg (2002) (in press)
Bayer, J., Flege, O. et al.: PuLSE: a methodology to develop software product lines, the fifth ACM SIGSOFT Symposium on Software Reusability (SSR’ 99), Los Angeles (1999)
Biddle, R., Noble, J., Tempero, E.: Supporting Reusable Use Cases. In: Proceedings of the Seventh International Conference on Software Reuse (2002)
Borland Together. www.borland.com/together/
Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach. Addison Wesley, Reading (2000)
Cockburn, A.: Structuring use-cases with goals. J. Object- Oriented Programm 9(5), 35–40; 9(6), 56–62 (1997)
Constantopoulos P., Jarke M., Mylopoulos Y., Vassiliou Y. (1995). The software information base: a server for reuse. VLDB J. 4(1): 1–43
CORE, http://www.vtcorp.com
Cleland-Huang, J., Schmelzer, D.: Dynamic tracing non- functional requirements through design patter invariants. In: Proceedings of the 2nd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE 2003), October, Canada (2003)
Cleland-Huang, J., Chang, C.K., Sethi, G., Javvaji, K., Hu, H., Xia, J.: Automating Speculative Queries through Event-based Requirements Traceability. In: Proc. of the IEEE Joint International Requirements Engineering Conference, Essen, September (2002)
Cleland-Huang, J., Settimi, R., BenKhadra, O.: Goal-Centric Traceability for managing Non-Functional Requirements. In: International Conference on Software Engineering, USA, May (2005)
Deng M., Stirewalt R.E.K., Cheng B.H.C. (2005). Retrieval by construction: a traceability technique to support verification and validation of uml formalization. Int. J. Softw. Eng. Knowl. Eng. 15(5): 837–872
DOORS., www.telelogic.com/products/doors.
Egyed A. (2003). A Scenario-Driven Approach to Trace Dependency Analysis. IEEE Trans. Softw. Eng. 9(2): 116–132
Egyed, A., Gruenbacher, P.: Automatic Requirements Traceability: Beyond the Record and Replay paradigm. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering (ASE), Edinburgh, September (2002)
Faloutsos, C., Oard, D.: A Survey of Information Retrieval and Filtering Methods, Tech. Report CS-TR3514, Dept. of Computer Science, Univ. of Maryland (1995)
Fantechi, A., Gnesi, S., et al.: A Methodology for the Derivation and Verification of Use Cases for Product Lines, SPLC, pp. 255–265 (2004)
FODA. Feature Oriented Domain Analysis. www.sei.cmu.edu/domain-engineering/FODA.html
GCT. Proceedings of the International Symposium of the Grand Challenges for Traceability, Kentucky, March 2007 (http://traceabilitycenter.org/events/TEFSE07)
Goldsby, H., Cheng, B.H.C.: Goal-oriented modeling of requirements engineering for dynamically adaptive systems. In: 14th IEEE Int. Requirements Engineering Conference, USA (2006)
Gotel, O., Finkelstein, A.: An analysis of the requirements traceability problem. In: First Int. Conf. on Requirements (1994)
Gotel, O., Finkelstein, A.: Contribution Structures. In: Proceedings of 2nd International Symposium on Requirements Engineering, (RE’95), pp. 100–107 (1995)
Griss, M.L., Favaro, J., d’Alessandro, M.: Integrating Feature Modeling with the RSEB. In: Proceedings Fifth International Conference on Software Reuse (1998)
Hayes, J.H., Dekhtyar, A., Osborne, J.: Improving Requirements Tracing via Information Retrieval. In: Proceedings of the 11th IEEE Int. Requirements Engineering Conference, Monterey Bay (2003)
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), 2006
Jirapanthong, W., Zisman, A.: Supporting Product Line Development through Traceability. In: Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC 2005),Taiwan (2005)
Kaindl, H.: The Missing Link in Requirements Engineering, Software Engineering Notes, June (1992)
Kang, K., Cohen, S., et al.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, Pittsburgh. Software Engineering Institue, Carnegie Mellon University (1990)
Kang, K., Kim, S., et al.: FORM: a feature-oriented reuse method with domain-specific architectures. Ann. Softw. Eng. 5(1), 143–168 (1998)
Kim, S.D, Chang, S.H., La, H.J.: Traceability Map: Foundations to Automate for Product Line Engineering. In: 3rd ACIS International Conference on Software Engineering Research, Management & Applications (SERA05)
Krueger, C.W.: Software Mass Customization, http://www.biglever.com/papers/BigLeverMassCustomization.pdf
Lago, P., Niemela, E., Vilet, H.V.: Tool Support for Traceable Product Environment. In: Proc. of the 8th European Conference on Software Maintenance and Reengineering (CSMR), Finland (2004)
Lavazza L., Valetto G. (2000). Requirements-based estimation of change costs. Emp. Softw. Eng. Int. J. 5(3): 229–243
Lee K., Kang K.C., Chae W., Choi B.W. (2000). Feature-based approach to object-oriented engineering of applications for reuse. Softw.-Pract. Exp. 30: 1025–1046
Leech, G., Garside, R., Bryant, M.: CLAWS4: The Tagging of the British National Corpus. In: Proceedings of the 15th International Conference on Computational Linguistics (COLING 94), Kyoto, Japan, pp. 622–628 (1994)
Letelier, P.: A framework for requirements traceability in uml-based projects. In: Proceedings of the 1st International Workshop on Traceability for Emerging Forms of Software Engineering (TEFSE’02), Edinburgh, September (2002)
Maletic, J.L., Collard, M.L., Simoes, B.: An XML Based Approach to Support the Evolution of Model-to-Model Traceability Links. In: 3rd ACM International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE’05), California, September (2005)
Mannion, M., et al.: Representing Requirements on Generic Software in an Application Family Model, ICSR6. LNCS, vol 1844, pp. 153–169, (2000)
Marcus, A., Maletic, J.I.: Recovering Documentation-to-Source-Code Traceability Links using Latent Semantic Indexing, ICSE (2003)
Marcus A., Maletic J.I., Sergeyev A. (2005). Recovery of traceability links between software documentation and source code. Int. J. Softw. Eng. Knowl. Eng. 15(4): 811–836
Meyer, B.: Object Oriented Software Construction. Prentice Hall, Englewoodcliffs (1998)
Mohan, K., Ramesh, B.: Managing variability with Traceability in product and Service Families. In: Proceedings of the 35th Hawaii International Conference on System Sciences. IEEE, New York (2002)
Murta, L.G.P., van der Hoek, A., Werner, C.M.L.: ArchTrace: Policy-Based Support for managing Evolving Architecture-to-Implementation Traceability Links. In: 21st IEEE/ACM International Conference on Automated Software Engineering (ASE’06), Japan, September (2006)
OMA. www.omg.org/technology/documents/formal/xmi.htm.
OMG. XML Metadata Interchange (XMI). www.omg.org/technology/documents/formal/xmi.htm.
Pohl K. (1996). Process-Centered Requirements Engineering. Wiley, New York
Pohl, K.: PRO-ART: Enabling Requirements Pre-Traceability. In: Proceedings of the IEEE Int. Conference on Requirements Engineering (ICRE 1996)
Pohl, K., et al.: Product Family Development, Dagstuhl Seminar Report No.304, http://www.dagstul.de/01161/report, 2001
Pinheiro, F.: Formal and Informal Aspects of Requirements Tracing, Position Paper. In: Proceedings of 3rd Workshop on Requirements Engineering (III WER), Rio de Janeiro, Brazil (2000)
Pinheiro, F., Goguen, J.: an object-oriented tool for tracing requirements. IEEE Softw. 52–64 (1996)
Ramesh B., Dhar V. (1992). Supporting systems development using knowledge captured during requirements engineering. IEEE Trans. Softw. Eng. 18(6): 498–510
Ramesh, B., Jarke, M.: Towards reference models for requirements traceability. IEEE Trans. Softw. Eng. 37(1) (2001)
Ramesh B., Tiwana A. (1999). Supporting collaborative process knowledge management in new product development teams. Decis. Support Syst. 27: 213–235
Rational Rose. www.306.ibm.com/software/rational/.
Riebisch, M., Plilippow, I.: Evolution of Product Lines Using Traceability, OOPSLA 2001 Workshop on Engineering Complex Object-Oriented Systems for Evolution, Florida
RTM.Integrated Chipware. www.chipware.com.
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 (TEFSE 2003), Canada, September (2003)
Simpson, T.W.: A Concept Exploration method for Product Family Design, in Mechanical Engineering, Atlanta (1998)
Sinnema, M., et al.: COVAMOF: A Framework for Modeling Variability in Software Product Families, the third international conference, SPLC (2004)
Sourceforge; Saxon: http://saxon.sourceforge.net/
Spanoudakis, G., Zisman, A.: Software traceability: a roadmap. In: Chang, S.K.: (ed.) Handbook of Softawre Engineering and Knowledge Engineering, vol 3. World Scientific Publishing Co., Singapore (2003)
Spanoudakis, G., Garcez, A., Zisman, A.: Revising rules to capture requirements traceability relations. In: 15th International Conference on Software Engineering and Knowledge Engineering (SEKE 2003), San Francisco, July (2003)
Spanoudakis G., Zisman A., Pérez-Miñana E., Krause P. (2004). Rule-based generation of requirements traceability relations. J. Syst. Softw. 72(2): 105–127
Stirewalt, K., Deng, M., Cheng, B.H.C.: UML formalization is a traceability problem. In: 3rd ACM International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE’05), California, September (2005)
Svahnberg, M., Bosch, J.: Issues concerning variability in software product lines. In: The third International Workshop on Software Architectures for Product Families. Springer, Berlin (2000)
Theil, S., Hein, A.: Systematic integration of variability into product line architecture design. In: The 2nd International Conference on Software Product Lines (SPLC2). Springer, Berlin (2002)
Van der Linden, F.: Product Family Development in Philips Medical Systems, Dagstuhl Event 03151, April 2004 www.dagstuhl.de/03151/Titles/index.en.phtml
Von Knethen, A.: Automatic change support based on a trace model. In: Proceedings of the 1st Int. Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE’02) (2002)
Von Knethen, A., Paech, B., Kiedaisch, F., Houdek, F.: Systematic requirements recycling through abstraction and traceability. In: Proceedings of the IEEE International Requirements Engineering Conference, Germany, September (2002)
Weiss, D.: Software Synthesis: The FAST Process, the International Conference on Computing in High Energy Physics (CHEP), Rio de Janeiro, Brazil
WordNet. http://wordnet.princeton.edu.
XPath. http://www.w3.org/TR/xpath.
XQuery. http://www.w3.org/TR/xquery.
XTraQue. XTraQue Project. http://www.soi.city.ac.uk/~zisman/XTraQue.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Jon Whittle.
This work has been partially supported by Dhurakijpundit University, Thailand.
Rights and permissions
About this article
Cite this article
Jirapanthong, W., Zisman, A. XTraQue: traceability for product line systems. Softw Syst Model 8, 117–144 (2009). https://doi.org/10.1007/s10270-007-0066-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-007-0066-8