Understanding Architectural Elements from Requirements Traceability Networks

  • Inah Omoronyia
  • Guttorm Sindre
  • Stefan Biffl
  • Tor Stålhane
Chapter

Abstract

The benefits of requirements traceability to understand architectural representations are still hard to achieve. This is because architectural knowledge usually remains implicit in the heads of the architects, except the architecture design itself. The aim of this research is to make architectural knowledge more explicit by mining homogenous and heterogeneous requirements traceability networks. This chapter investigates such networks achieved by event-based traceability and call graphs. Both traces are harvested during a software project. An evaluation study suggests the potential of this approach. Traceability networks can be used in understanding some of the resulting architectural styles based on the real time state of a software project. We also demonstrate the use of traceability networks to monitor initial system decisions and identify bottlenecks in a software project.

References

  1. 1.
    Galster M, Eberlein A, Moussavi M (2006) Transition from requirements to architecture: a review and future perspectiveGoogle Scholar
  2. 2.
    Omoronyia I et al (2009) Use case to source code traceability: the developer navigation view pointGoogle Scholar
  3. 3.
    Turner CR, Fuggetta A, Lavazza L, Wolf AL (1999) A conceptual basis for feature engineering. J Syst Softw 49(1):3–15CrossRefGoogle Scholar
  4. 4.
    Eden AH, Kazman R (2003) Architecture, design, implementation. ICSE, PortlandGoogle Scholar
  5. 5.
    Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison Wesley, ReadingGoogle Scholar
  6. 6.
    Palmer JD (1997) Traceability. In: Thayer RH, Dorfman M (eds) Software requirements engineering. IEEE Computer Society Press, Los Alamitos, pp 364–374Google Scholar
  7. 7.
    Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Software Eng 27(1):58–93CrossRefGoogle Scholar
  8. 8.
    Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE Trans Software Eng 29(2):116–132CrossRefGoogle Scholar
  9. 9.
    Kruchten P, Lago P, van Vliet H (2006) Building up and reasoning about architectural knowledge. In: Hofmeister C (ed) QoSA-Quality of software architecture. Springer, Vasteras, pp 43–58CrossRefGoogle Scholar
  10. 10.
    Omoronyia I, Ferguson J, Roper M, Wood M (2009) Using developer activity data to enhance awareness during collaborative software development. Comput Supported Coop Work 18(5–6 December 2009):509–558CrossRefGoogle Scholar
  11. 11.
    Omoronyia I (2008) Enhancing awareness during distributed software development. Ph.D. Dissertation, University of Strathclyde, Glasgow, ScotlandGoogle Scholar
  12. 12.
    Fritz T, Murphy GC, Hill E (2007) “Does a programmer’s activity indicate knowledge of code?” in ESEC/SIGSOFT FSE 341–350Google Scholar
  13. 13.
    Gutwin C, Greenberg S, Roseman M (1996) Workspace awareness in real-time distributed groupware: framework, widgets, and evaluation. In: BCS HCI, London, UK, pp 281–298Google Scholar
  14. 14.
    Brandes U, Erlebach T (2007) Network analysis -methodological foundations – introduction, ser. Lecture notes in computer science. vol 3418. Springer-Verlag, Berlin (2005)Google Scholar
  15. 15.
    Latora V, Marchiori M (2007) A measure of centrality based on network efficiency. New J Phys 9:188CrossRefGoogle Scholar
  16. 16.
    White S, Smyth P (2003) Algorithms for estimating relative importance in networks. In: Getoor L, Senator TE, Domingos P, Faloutsos C (eds) KDD. ACM, Washington, pp 266–275Google Scholar
  17. 17.
    Java universal network/graph framework. [Online] Available: http://jung.sourceforge.net
  18. 18.
    Hornbaek K, Hertzum M (2007) Untangling the usability of fisheye menus. Acm Transactions On Computer-Human Interaction 14: 2Google Scholar
  19. 19.
    Grünbacher P, Egyed A, Medvidovic N (2001) Reconciling software requirements and architectures: the CBSP approach. Fifth IEEE international symposium on requirements engineering (RE’01)Google Scholar
  20. 20.
    Grünbacher P, Egyed A, Medvidovic N (2000) Dimensions of concerns in requirements negotiation and architecture modellingGoogle Scholar
  21. 21.
    Jakobac V, Medvidovic N, Egyed A (2005) Separating architectural concerns to ease program understanding. SIGSOFT Softw Eng Notes 30(4):1CrossRefGoogle Scholar
  22. 22.
    Jakobac V, Egyed A, Medvidovic N (2004) ARTISAn: an approach and tool for improving software system understanding via interactive, tailorable source code analysis, TR USC-CSE-2004-513. USC, USAGoogle Scholar
  23. 23.
    Medvidovic N, Egyed A, Gruenbacher P (2003) Stemming architectural erosion by coupling architectural discovery and recoveryGoogle Scholar
  24. 24.
    Mader P, Gotel O, Philippow I (2008) Enabling automated traceability maintenance by recognizing development activities applied to models., pp 49–58Google Scholar
  25. 25.
    Mendonça N, Kramer J (2001) An approach for recovering distributed system architectures. Automated Softw Eng 8(3–4):311–354MATHCrossRefGoogle Scholar
  26. 26.
    Guo J, Liao Y, Pamula R (2006) Static analysis based software architecture recovery, computational science and its applications – ICCSA 2006Google Scholar
  27. 27.
    Antoniol G et al (2002) Recovering traceability links between code and documentation. Softw Eng IEEE Trans 28(10):970–983CrossRefGoogle Scholar
  28. 28.
    Oliveto R (2008) Traceability management meets information retrieval methods: strengths and limitations. In: Proceedings of the 2008 12th European conference on software maintenance and reengineering. IEEE Computer Society, Athens, GreeceGoogle Scholar
  29. 29.
    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, ACM, Long BeachGoogle Scholar
  30. 30.
    Egyed A (2006) Tailoring software traceability to value-based needs. In: Stefan Biffl AA, Boehm B, Erdogmus H, Grünbacher P (eds) Value-based software engineering, Egyed A., Springer-Verlag, pp 287–308Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Inah Omoronyia
    • 1
  • Guttorm Sindre
    • 1
  • Stefan Biffl
    • 2
  • Tor Stålhane
    • 1
  1. 1.Department of Computer and Information ScienceNorwegian University of Science and TechnologyTrondheimNorway
  2. 2.Institute of Software Technology and Interactive SystemsVienna University of TechnologyWienAustria

Personalised recommendations