Abstract
Visual analytics is the science of analytical reasoning facilitated by interactive visual interfaces. In this paper, we present an adaptation of the visual analytics framework to the context of software understanding for maintenance. We discuss the similarities and differences of the general visual analytics context with the software maintenance context, and present in detail an instance of a visual software analytics application for the build optimization of large-scale code bases. Our application combines and adapts several data mining and information visualization techniques in answering several questions that help developers in assessing and reducing the build cost of such code bases by means of user-driven, interactive analysis techniques.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
AT&T (2007) The GraphViz package. http://www.graphviz.org
Balanyi Z, Ferenc R (2003) Mining design patterns from C++ source code. In: Proceedings of ICSM, IEEE. pp 305–314
Baxter I, Pidgeon C, Mehlich M (2004) DMS: program transformations for practical scalable software evolution. In: Proceedings of ICSE, IEEE, pp 625–634
Belady LA, Lehman MM (1976) A model of large program development. IBM Syst J 15(3): 225–252
Bell Labs (2007) The CScope code browser. http://cscope.sourceforge.net
Booch G (2006) On architecture. IEEE Softw 23(2): 16–18
Corbi T (1999) Program understanding: challenge for the 1990s. IBM Syst J 28(2): 294–306
Ctags Team (2007) Ctags home page. http://ctags.sourceforge.net
Diehl S (2007) Software visualization visualizing the structure, behaviour, and evolution of software. Springer, Berlin
Eick S, Steffen S, Sumner E (1992) Seesoft-a tool for visualizing line oriented software statistics. IEEE Trans Soft Eng 18(11): 957–968
Elrad T, Aksit M, Kiczales G, Lieberherr K, Osher H (2003) Discussing aspects of AOP. Commun ACM 44(10): 33–38
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design Patterns: Elements of reusable object-oriented software. Addison-Wesley, Reading
Godfrey MW, Tu Q (2000) Evolution in open source software: a case study. In: Proceedings of international conference on software maintenance (ICSM), IEEE. pp 131–142
Havre S, Hetzler E, Whitney P, Nowell L (2002) ThemeRiver: visualizing thematic changes in large document collections. IEEE TVCG 8: 9–20
Holt G (2007) Makepp home page. http://makepp.sourceforge.net
Klemola T, Rilling J (2000) Modelling comprehension processes in software development. In: Proceedings of international Conference on cognitive informatics (ICCI), IEEE, pp 329–337
Lanza M (2004) CodeCrawler—polymetric views in action. In: Proceedings of ASE, IEEE. pp 394–395
Lanza M, Marinescu R (2006) Object-oriented metrics in practice—using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer, Berlin
Lienhardt A, Kuhn A, Greevy O (2007) Rapid prototyping of visualizations using mondrian. In: Proceedings of VISSOFT, IEEE. pp 67–70
Lin Y, Holt RC, Malton AJ (2003) Completeness of a fact extractor. In: Proceedings of WCRE, IEEE. pp 196–204
Littlefair T (2007) C and C++ code counter. http://sourceforge.net/projects/cccc
Lommerse G, Nossin F, Voinea L, Telea A (2005) The visual code navigator: an interactive toolset for source code investigation. In: Proceedings of infoVis, IEEE, pp 24–31
Mozilla Inc (2008) The Mozilla browser. http://www.mozilla.org
OMG (2008) The unified modeling language. http://www.uml.omg
Pigorsky TM (1996) Practical software maintenance. Wiley, London
PNNL (2008) The IN-SPIRE visualization system. http://in-spire.pnl.gov
Rao R, Card S (1994) The table lens: merging graphical and symbolic representations in an interactive focus+context visualization for tabular information. In: Proceedings of CHI, ACM, pp 222–230
Shneiderman B, Bederson B, Wattenberg M (2008) The Treemap 4.0 visualization system. http://www.cs.umd.edu/hcil/treemap
Spinellis D (2007) The CScout extractor. http://www.spinellis.gr
Standish TA (1984) An essay on software reuse. IEEE Trans Softw Eng 10(5): 494–497
Telea A, Voinea L (2008) An interactive reverse-engineering environment for large-scale C++ code. In: Proceedings of ACM SOFTVIS, pp 67–76
Telea A, Maccari A, Riva C (2002) An open toolkit for prototyping reverse engineering visualizations. In: Proceedings of data visualization (VisSym), IEEE, pp 56–64
Teyseyre A, Campo M (2009) An overview of 3D software visualization. IEEE Trans Vis Comput Graph 15(8): 87–105
Thomas J, Cook KA (2005) Illuminating the path: the research and development agenda for visual analytics. National Visualization and Analytics Center, IEEE CS Press, Richland
Tilley S, Wong K, Storey M, Müller H (1994) Programmable reverse engineering. Int J Softw Eng Knowl Eng 4(4): 501–520
Wong PC, Thomas J (2004) Visual analytics. IEEE Comput Graph Appl 24(5): 20–21
Open Access
This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License (https://creativecommons.org/licenses/by-nc/2.0), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Telea, A., Voinea, L. Visual software analytics for the build optimization of large-scale software systems. Comput Stat 26, 635–654 (2011). https://doi.org/10.1007/s00180-011-0248-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00180-011-0248-2