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.

Reproduced with permission from Holten (2006)















Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abadi, A., Nisenson, M., Simionovici, Y.: A traceability technique for specifications. In: 16th IEEE International Conference on Program Comprehension, pp. 103–112 (2008)
ADAMS: Overview. Data accessed: February 2009, http://adams.dmi.unisa.it/adams-2009/Overview.html (2009)
Antoniol, G., Casazza, G., Cimitile, A.: Traceability recovery by modelling programmer behavior. In: 7th WCRE, Queensland, Australia, Nov., pp. 240–247 (2000)
Antoniol, G., Canfora, G., Casazza, G., Lucia, A.D., Merlo, E.: Recovering traceability links between code and documentations. TSE 28(10), 970–983 (2002)
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)
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)
Bacchelli, A., Lanza, M., Robbes, R.: Linking e-mails and source code artifacts. In: ICSE’10, May, pp. 375–384 (2010)
Chen, X., Hosking J., Grundy, J.: Visualizing traceability links between source code and documentation. In: VL/HCC 2012, Innsbruck (2012)
Chen, X., Grundy, J.: Improving automated documentation to code traceability by combining retrieval techniques. ASE 2011, 223–232 (2011)
Chen, X., Hosking, J., Grundy, J., Amor, R.: Development of robust traceability benchmarks. In: 22nd ASWEC, June 2013, Melbourne, Australia (2013)
Cleland-Huang, J., Habrat, R.: Visual support in automated tracing. In: REV 2007, IEEE Computer Society, pp. 4–8 (2007)
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)
Cleland-Huang, J., Settimi, R., Romanova, E., Berenbach, B., Clark, S.: Best practices for automated traceability. Computer 40(6), 27–35 (2007)
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)
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)
Gotel, O.C., Finkelstein, A.C.W.: An analysis of the requirements traceability problem. In: 1st RE, pp. 94–101 (1994)
Graham, M., Kennedy, J.: A survey of multiple tree visualization. Inf. Vis. 9(4), 235–252 (2010)
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)
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)
Holten, D.: Hierarchical edge bundles: visualization of adjacency relations in hierarchical data. IEEE Trans Vis Comput Graph. 12(5), 741–748 (2006)
Jackson, M., Wilkerson, M.: MBSE-driven visualization of requirements allocation and traceability. In: Aerospace Conference, MT, USA, pp. 1–17 (2016)
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)
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)
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)
LDRA: LDRA Product Brochure v7.2. From http://www.ldra.com (2012)
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)
Li, Y., Maalej, W.: Which traceability visualization is suitable in this context? A comparative study. In: REFSQ 2012, LNCS 7195, pp. 194–210 (2012)
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)
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)
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)
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)
Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: 25th ICSE’03, pp. 125–135 (2003)
Marcus, A., Xie, X., Poshyvanyk, D.: When and how to visualize traceability links? In: TEFSE 2005, November 8, California, USA, pp. 56–61 (2005)
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)
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)
Nishikawa, K., Washizaki, H., Oshima, K., Mibe, R.: Recovering transitive traceability links among software artifacts. In: ICSME 2015, Bremen, Germany, pp. 576–580 (2015)
Penta, M.D., Gradara, S., Antoniol, G.: Traceability recovery in RAD software systems. IWPC 2002, 207–216 (2002)
Prefuse: The prefuse information visualization toolkit. (2011) http://prefuse.org/
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)
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)
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)
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)
Shneiderman, B.: Tree visualization with tree-maps: 2d space-filling approach. ACM Trans. Graph. (TOG) 11(1), 92–99 (1992)
Singhal, A.: Modern information retrieval: a brief overview. Bull. IEEE Comput. Soc. Tech. Comm. Data Eng. 24(4), 35–42 (2001)
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)
Terrier IR Platform: Extracted from http://terrier.org/ (2010)
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)
van Ravensteijn, W.J.P.: Visual Traceability Across Dynamic Ordered Hierarchies. Master’s thesis, Eindhoven University of Technology (August 2011)
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)
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)
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)
Watkins, R., Neal, M.: Why and how of requirements tracing. In: 5th ASM, California, pp. 104–106 (1994)
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)
Woodruff, A., Stonebraker, M.: VIDA: visual information density adjuster. Technical Report CSD-97-968, University of California, Berkeley, California, September (1997)
Zhou, X., Huo, Z., Huang, Y., Xu, J.: Facilitating software traceability understanding with ENVISION. COMPSAC 2008, 295–302 (2008)
Acknowledgement
The authors gratefully acknowledge Alberto Bacchelli for agreeing to share his exemplar test sets and oracles of ArgoUML, Freenet and JMeter.
Author information
Authors and Affiliations
Corresponding author
Additional information
This research is financially supported by the Foundation for Research, Science and Technology, MBIE Software Process and Product Improvement project, and University of Auckland.
Rights and permissions
About this article
Cite this article
Chen, X., Hosking, J., Grundy, J. et al. DCTracVis: a system retrieving and visualizing traceability links between source code and documentation. Autom Softw Eng 25, 703–741 (2018). https://doi.org/10.1007/s10515-018-0243-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-018-0243-8