Advertisement

Automated Software Engineering

, Volume 25, Issue 4, pp 703–741 | Cite as

DCTracVis: a system retrieving and visualizing traceability links between source code and documentation

  • Xiaofan Chen
  • John Hosking
  • John Grundy
  • Robert Amor
Article

Abstract

It is well recognized that traceability links between software artifacts provide crucial support in comprehension, efficient development, and effective management of a software system. However, automated traceability systems to date have been faced with two major open research challenges: how to extract traceability links with both high precision and high recall, and how to efficiently visualize links for complex systems because of scalability and visual clutter issues. To overcome the two challenges, we designed and developed a traceability system, DCTracVis. This system employs an approach that combines three supporting techniques, regular expressions, key phrases, and clustering, with information retrieval (IR) models to improve the performance of automated traceability recovery between documents and source code. This combination approach takes advantage of the strengths of the three techniques to ameliorate limitations of IR models. Our experimental results show that our approach improves the performance of IR models, increases the precision of retrieved links, and recovers more correct links than IR alone. After having retrieved high-quality traceability links, DCTracVis then utilizes a new approach that combines treemap and hierarchical tree techniques to reduce visual clutter and to allow the visualization of the global structure of traces and a detailed overview of each trace, while still being highly scalable and interactive. Usability evaluation results show that our approach can effectively and efficiently help software developers comprehend, browse, and maintain large numbers of links.

Keywords

Software traceability Traceability recovery Traceability visualization 

Notes

Acknowledgement

The authors gratefully acknowledge Alberto Bacchelli for agreeing to share his exemplar test sets and oracles of ArgoUML, Freenet and JMeter.

References

  1. Abadi, A., Nisenson, M., Simionovici, Y.: A traceability technique for specifications. In: 16th IEEE International Conference on Program Comprehension, pp. 103–112 (2008)Google Scholar
  2. ADAMS: Overview. Data accessed: February 2009, http://adams.dmi.unisa.it/adams-2009/Overview.html (2009)
  3. Antoniol, G., Casazza, G., Cimitile, A.: Traceability recovery by modelling programmer behavior. In: 7th WCRE, Queensland, Australia, Nov., pp. 240–247 (2000)Google Scholar
  4. Antoniol, G., Canfora, G., Casazza, G., Lucia, A.D., Merlo, E.: Recovering traceability links between code and documentations. TSE 28(10), 970–983 (2002)Google Scholar
  5. Asuncion, H.U., Francois, F., Taylor, R.N.: An end-to-end industrial software traceability tool. In: ESEC-FSE, Cavtat near Dubrovnik, Croatia, pp. 115–124 (2007)Google Scholar
  6. Aswani Kumar, C., Srinivas, S.: On the performance of latent semantic indexing-based information retrieval. J Comput Inf Technol CIT 17(3), 259–264 (2009)CrossRefGoogle Scholar
  7. Bacchelli, A., Lanza, M., Robbes, R.: Linking e-mails and source code artifacts. In: ICSE’10, May, pp. 375–384 (2010)Google Scholar
  8. Chen, X., Hosking J., Grundy, J.: Visualizing traceability links between source code and documentation. In: VL/HCC 2012, Innsbruck (2012)Google Scholar
  9. Chen, X., Grundy, J.: Improving automated documentation to code traceability by combining retrieval techniques. ASE 2011, 223–232 (2011)Google Scholar
  10. Chen, X., Hosking, J., Grundy, J., Amor, R.: Development of robust traceability benchmarks. In: 22nd ASWEC, June 2013, Melbourne, Australia (2013)Google Scholar
  11. Cleland-Huang, J., Habrat, R.: Visual support in automated tracing. In: REV 2007, IEEE Computer Society, pp. 4–8 (2007)Google Scholar
  12. Cleland-Huang, J., Settimi, R., Duan, C., Zou, X.: Utilizing supporting evidence to improve dynamic requirements traceability. In: RE’05, Paris, pp. 135–144 (2005)Google Scholar
  13. Cleland-Huang, J., Settimi, R., Romanova, E., Berenbach, B., Clark, S.: Best practices for automated traceability. Computer 40(6), 27–35 (2007)CrossRefGoogle Scholar
  14. Cornelissen, B., Holten, D., Zaidman, A., Moonen, L., van Wijk, J.J., van Deursen, A.: Understanding execution traces using massive sequence and circular bundle views. In: 15th ICPC, Alberta, BC, pp. 49–58 (2007)Google Scholar
  15. Falessi, D., Di Penta, M., Canfora, G., Cantone, G.: Estimating the number of remaining links in traceability recovery. Empir Softw Eng (EMSE) 22(3), 996–1027 (2017)CrossRefGoogle Scholar
  16. Gotel, O.C., Finkelstein, A.C.W.: An analysis of the requirements traceability problem. In: 1st RE, pp. 94–101 (1994)Google Scholar
  17. Graham, M., Kennedy, J.: A survey of multiple tree visualization. Inf. Vis. 9(4), 235–252 (2010)CrossRefGoogle Scholar
  18. Grechanik, M., McKinley, K.S., Perry, D.E.: Recovering and using use-case-diagram-to-source-code traceability links. In: ESEC/FSE’07, Croatia, pp. 95–104 (2007)Google Scholar
  19. Hayes, J.H., Dekhtyar, A., Osborne, J.: Improving requirements tracing via information retrieval. In: Proceedings of the International Conference on Requirements Engineering (RE), pp. 151–161 (2003)Google Scholar
  20. Holten, D.: Hierarchical edge bundles: visualization of adjacency relations in hierarchical data. IEEE Trans Vis Comput Graph. 12(5), 741–748 (2006)CrossRefGoogle Scholar
  21. Jackson, M., Wilkerson, M.: MBSE-driven visualization of requirements allocation and traceability. In: Aerospace Conference, MT, USA, pp. 1–17 (2016)Google Scholar
  22. Kamalabalan, K., Uruththirakodeeswaran, T., Balasubramaniam, D.: Tool support for traceability of software artefacts. In: Moratuwa Engineering Research Conference (MERCon), Moratuwa, Sri Lanka, pp. 318–323 (2015)Google Scholar
  23. Kardes, F.R., Cronley, M.L., Kellaris, J.J., Posavac, S.S.: The role of selective informtiaon processing in price-quality inference. J. Consum. Res. 31(2), 368–374 (2004)CrossRefGoogle Scholar
  24. Kuang, H., Nie, J., Hu, H., Rempel, P., Lu, J., Egyed, A., Mader, P.: Analyzing closeness of code dependencies for improving IR-based traceability recovery. In: IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), Feb. 2017, Klagenfurt, Austria, pp. 68–78 (2017)Google Scholar
  25. LDRA: LDRA Product Brochure v7.2. From http://www.ldra.com (2012)
  26. Li, C., Ding, C., Shen, K.: Quantifying the cost of context switch. In: Proceedings of the 2007 Workshop on Experimental Computer Science (ExpCS’07), San Diego, California, June (2007)Google Scholar
  27. Li, Y., Maalej, W.: Which traceability visualization is suitable in this context? A comparative study. In: REFSQ 2012, LNCS 7195, pp. 194–210 (2012)CrossRefGoogle Scholar
  28. Lucia, A.D., Fasano, F., Francese, R., Tortora, G.: ADAMS: an artifact-based process support system. In: 16th International Conference on Software Engineering and Knowledge Engineering, Alberta, Canada, pp. 31–36 (2004)Google Scholar
  29. Lucia, A.D., Fasano, F., Oliveto, R., Tortora, G.: Recovering traceability links in software artifact management systems using information retrieval methods. TOSEM 16(4), Article 13 (2007)CrossRefGoogle Scholar
  30. Lucia, A.D., Penta, M.D., Oliveto, R., Panichella, A., Panichella, S.: Applying a smoothing filter to improve IR-based traceability recovery processes: an empirical investigation. Inf. Softw. Technol. 55(2013), 741–754 (2013)CrossRefGoogle Scholar
  31. MacQueen, J.B.: Some methods for classification and analysis of multivariate oberservations. In: 5th Berkeley Symposium on Mathematical Statistics and Probability, pp. 281–297 (1967)Google Scholar
  32. Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: 25th ICSE’03, pp. 125–135 (2003)Google Scholar
  33. Marcus, A., Xie, X., Poshyvanyk, D.: When and how to visualize traceability links? In: TEFSE 2005, November 8, California, USA, pp. 56–61 (2005)Google Scholar
  34. Merten, T., Juppner, D., Delater, A.: Improved representation of traceability links in requirements engineering knowledge using Sunburst and Netmap visualization. In: 4th MARK, Trento, pp. 17–21 (2011)Google Scholar
  35. Nakagawa, H., Matsui, S., Tsuchiya, T.: A visualization of specification coverage based on document similarity. In: IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 136–138 (2017)Google Scholar
  36. Nishikawa, K., Washizaki, H., Oshima, K., Mibe, R.: Recovering transitive traceability links among software artifacts. In: ICSME 2015, Bremen, Germany, pp. 576–580 (2015)Google Scholar
  37. Penta, M.D., Gradara, S., Antoniol, G.: Traceability recovery in RAD software systems. IWPC 2002, 207–216 (2002)Google Scholar
  38. Prefuse: The prefuse information visualization toolkit. (2011) http://prefuse.org/
  39. Rocco, J.D., Ruscio, D.D., Iovino, L., Pierantonio, A.: Traceability visualization in metamodel change impact detection. In: GMLD’13, Montpellier, France, pp. 51–62 (2013)Google Scholar
  40. Rodrigues, A., Lencastre, M., Filho, G.A.C. de: Multi-VisioTrace: traceability visualization tool. In: 10th International Conference on the Quality of Information and Communication Technology, pp. 61–66 (2016)Google Scholar
  41. Roman, G.C., Cox, K C.: Program visualization: the art of mapping programs to picture. In: Proceedings of International Conference on Software Engineering, pp. 412–420 (1992)Google Scholar
  42. Settimi, R., Cleland-Huang, J., Ben Khadra, O., Mody, J., Lukasik, W., DePalma, C.: Supporting software evolution through dynamically retrieving traces to UML artifacts. In: 7th IWPSE, Kyoto, Japan, pp. 49–54 (2004)Google Scholar
  43. Shneiderman, B.: Tree visualization with tree-maps: 2d space-filling approach. ACM Trans. Graph. (TOG) 11(1), 92–99 (1992)CrossRefGoogle Scholar
  44. Singhal, A.: Modern information retrieval: a brief overview. Bull. IEEE Comput. Soc. Tech. Comm. Data Eng. 24(4), 35–42 (2001)Google Scholar
  45. Spanoudakis, G., Zisman, A.: Software traceability: a roadmap. In: Chang, S.K. (ed.) Advances in Software Engineering and Knowledge Engineering, vol. 3. World Scientific Publishing, Singapore (2005)Google Scholar
  46. Terrier IR Platform: Extracted from http://terrier.org/ (2010)
  47. van Amstel, M.F., van den Brand, M.G.J., Serebrenik, A.: Traceability visualization in model transformations with TraceVis*. In: ICMT 2012, LNCS 7307, pp. 152–159 (2012)Google Scholar
  48. van Ravensteijn, W.J.P.: Visual Traceability Across Dynamic Ordered Hierarchies. Master’s thesis, Eindhoven University of Technology (August 2011)Google Scholar
  49. von Pilgrim, J., Vanhooff, B., Schulz-Gerlach, I., Bervers, Y.: Constructing and visualizing transformation chains. In: 4th ECMDA-FA ’08, Heidelberg, pp. 17–32 (2008)Google Scholar
  50. Voytek, J.B., Nunez, J.L.: Visualizing non-functional traces in student projects in information systems and service design. In: CHI 2011, Vancouver, Canada (2011)Google Scholar
  51. Wang, X., Lai, G., Liu, C.: Recovering relationships between documentation and source code based on the characteristics of software engineering. In: Electronic Notes in Theoretical Computer Science 243, Elsevier B. V., pp. 121–137 (2009)CrossRefGoogle Scholar
  52. Watkins, R., Neal, M.: Why and how of requirements tracing. In: 5th ASM, California, pp. 104–106 (1994)CrossRefGoogle Scholar
  53. Witten, I.H., Paynter, G.W., Frank, E., Gutwin, C., Nevill-Manning, C.G.: Kea: practical automatic keyphrase extraction. In: 4th ACM DL, Berkeley, pp. 254–255 (1999)Google Scholar
  54. Woodruff, A., Stonebraker, M.: VIDA: visual information density adjuster. Technical Report CSD-97-968, University of California, Berkeley, California, September (1997)Google Scholar
  55. Zhou, X., Huo, Z., Huang, Y., Xu, J.: Facilitating software traceability understanding with ENVISION. COMPSAC 2008, 295–302 (2008)Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.School of Computer Science and EngineeringNanjing University of Science and TechnologyNanjingChina
  2. 2.University of AucklandAucklandNew Zealand
  3. 3.Faculty of Information TechnologyMonash UniversityMelbourneAustralia
  4. 4.Department of Computer ScienceUniversity of AucklandAucklandNew Zealand

Personalised recommendations