Software & Systems Modeling

, Volume 8, Issue 1, pp 117–144 | Cite as

XTraQue: traceability for product line systems

Regular Paper

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.

Keywords

Software traceability Product line Traceability relations Traceability rules Feature-based object-oriented documents 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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
  2. 2.
  3. 3.
    Atkinson, C., Bayer, J. et al.: Component-based product line development: The KobrA approch, the first software product line conference, SPLC, Denver (2000)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Biddle, R., Noble, J., Tempero, E.: Supporting Reusable Use Cases. In: Proceedings of the Seventh International Conference on Software Reuse (2002)Google Scholar
  7. 7.
    Borland Together. www.borland.com/together/Google Scholar
  8. 8.
    Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach. Addison Wesley, Reading (2000)Google Scholar
  9. 9.
  10. 10.
    Cockburn, A.: Structuring use-cases with goals. J. Object- Oriented Programm 9(5), 35–40; 9(6), 56–62 (1997)Google Scholar
  11. 11.
    Constantopoulos P., Jarke M., Mylopoulos Y., Vassiliou Y. (1995). The software information base: a server for reuse. VLDB J. 4(1): 1–43 CrossRefGoogle Scholar
  12. 12.
  13. 13.
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Cleland-Huang, J., Settimi, R., BenKhadra, O.: Goal-Centric Traceability for managing Non-Functional Requirements. In: International Conference on Software Engineering, USA, May (2005)Google Scholar
  17. 17.
    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 CrossRefGoogle Scholar
  18. 18.
    DOORS., www.telelogic.com/products/doors.Google Scholar
  19. 19.
    Egyed A. (2003). A Scenario-Driven Approach to Trace Dependency Analysis. IEEE Trans. Softw. Eng. 9(2): 116–132 CrossRefGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    Faloutsos, C., Oard, D.: A Survey of Information Retrieval and Filtering Methods, Tech. Report CS-TR3514, Dept. of Computer Science, Univ. of Maryland (1995)Google Scholar
  22. 22.
    Fantechi, A., Gnesi, S., et al.: A Methodology for the Derivation and Verification of Use Cases for Product Lines, SPLC, pp. 255–265 (2004)Google Scholar
  23. 23.
    FODA. Feature Oriented Domain Analysis. www.sei.cmu.edu/domain-engineering/FODA.htmlGoogle Scholar
  24. 24.
    GCT. Proceedings of the International Symposium of the Grand Challenges for Traceability, Kentucky, March 2007 (http://traceabilitycenter.org/events/TEFSE07)
  25. 25.
    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)Google Scholar
  26. 26.
    Gotel, O., Finkelstein, A.: An analysis of the requirements traceability problem. In: First Int. Conf. on Requirements (1994)Google Scholar
  27. 27.
    Gotel, O., Finkelstein, A.: Contribution Structures. In: Proceedings of 2nd International Symposium on Requirements Engineering, (RE’95), pp. 100–107 (1995)Google Scholar
  28. 28.
    Griss, M.L., Favaro, J., d’Alessandro, M.: Integrating Feature Modeling with the RSEB. In: Proceedings Fifth International Conference on Software Reuse (1998)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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), 2006Google Scholar
  31. 31.
    Jirapanthong, W., Zisman, A.: Supporting Product Line Development through Traceability. In: Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC 2005),Taiwan (2005)Google Scholar
  32. 32.
    Kaindl, H.: The Missing Link in Requirements Engineering, Software Engineering Notes, June (1992)Google Scholar
  33. 33.
    Kang, K., Cohen, S., et al.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, Pittsburgh. Software Engineering Institue, Carnegie Mellon University (1990)Google Scholar
  34. 34.
    Kang, K., Kim, S., et al.: FORM: a feature-oriented reuse method with domain-specific architectures. Ann. Softw. Eng. 5(1), 143–168 (1998)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Krueger, C.W.: Software Mass Customization, http://www.biglever.com/papers/BigLeverMassCustomization.pdf
  37. 37.
    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)Google Scholar
  38. 38.
    Lavazza L., Valetto G. (2000). Requirements-based estimation of change costs. Emp. Softw. Eng. Int. J. 5(3): 229–243 MATHCrossRefGoogle Scholar
  39. 39.
    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 CrossRefGoogle Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    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)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    Mannion, M., et al.: Representing Requirements on Generic Software in an Application Family Model, ICSR6. LNCS, vol 1844, pp. 153–169, (2000)Google Scholar
  44. 44.
    Marcus, A., Maletic, J.I.: Recovering Documentation-to-Source-Code Traceability Links using Latent Semantic Indexing, ICSE (2003)Google Scholar
  45. 45.
    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 CrossRefGoogle Scholar
  46. 46.
    Meyer, B.: Object Oriented Software Construction. Prentice Hall, Englewoodcliffs (1998)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    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)Google Scholar
  49. 49.
  50. 50.
    OMA. www.omg.org/technology/documents/formal/xmi.htm.Google Scholar
  51. 51.
    OMG. XML Metadata Interchange (XMI). www.omg.org/technology/documents/formal/xmi.htm.Google Scholar
  52. 52.
    Pohl K. (1996). Process-Centered Requirements Engineering. Wiley, New York Google Scholar
  53. 53.
    Pohl, K.: PRO-ART: Enabling Requirements Pre-Traceability. In: Proceedings of the IEEE Int. Conference on Requirements Engineering (ICRE 1996)Google Scholar
  54. 54.
    Pohl, K., et al.: Product Family Development, Dagstuhl Seminar Report No.304, http://www.dagstul.de/01161/report, 2001
  55. 55.
    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)Google Scholar
  56. 56.
    Pinheiro, F., Goguen, J.: an object-oriented tool for tracing requirements. IEEE Softw. 52–64 (1996)Google Scholar
  57. 57.
    Ramesh B., Dhar V. (1992). Supporting systems development using knowledge captured during requirements engineering. IEEE Trans. Softw. Eng. 18(6): 498–510 CrossRefGoogle Scholar
  58. 58.
    Ramesh, B., Jarke, M.: Towards reference models for requirements traceability. IEEE Trans. Softw. Eng. 37(1) (2001)Google Scholar
  59. 59.
    Ramesh B., Tiwana A. (1999). Supporting collaborative process knowledge management in new product development teams. Decis. Support Syst. 27: 213–235 CrossRefGoogle Scholar
  60. 60.
    Rational Rose. www.306.ibm.com/software/rational/.Google Scholar
  61. 61.
  62. 62.
    Riebisch, M., Plilippow, I.: Evolution of Product Lines Using Traceability, OOPSLA 2001 Workshop on Engineering Complex Object-Oriented Systems for Evolution, FloridaGoogle Scholar
  63. 63.
    RTM.Integrated Chipware. www.chipware.com.Google Scholar
  64. 64.
    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)Google Scholar
  65. 65.
    Simpson, T.W.: A Concept Exploration method for Product Family Design, in Mechanical Engineering, Atlanta (1998)Google Scholar
  66. 66.
    Sinnema, M., et al.: COVAMOF: A Framework for Modeling Variability in Software Product Families, the third international conference, SPLC (2004)Google Scholar
  67. 67.
    Sourceforge; Saxon: http://saxon.sourceforge.net/
  68. 68.
    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)Google Scholar
  69. 69.
    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)Google Scholar
  70. 70.
    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 CrossRefGoogle Scholar
  71. 71.
    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)Google Scholar
  72. 72.
    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)Google Scholar
  73. 73.
    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)Google Scholar
  74. 74.
    Van der Linden, F.: Product Family Development in Philips Medical Systems, Dagstuhl Event 03151, April 2004 www.dagstuhl.de/03151/Titles/index.en.phtmlGoogle Scholar
  75. 75.
    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)Google Scholar
  76. 76.
    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)Google Scholar
  77. 77.
    Weiss, D.: Software Synthesis: The FAST Process, the International Conference on Computing in High Energy Physics (CHEP), Rio de Janeiro, BrazilGoogle Scholar
  78. 78.
  79. 79.
  80. 80.
  81. 81.

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.Faculty of Information TechnologyDhurakij Pundit UniversityBangkokThailand
  2. 2.Department of ComputingCity UniversityLondonUK

Personalised recommendations