2018 · 22 citations · 10 references
ComputingComputer ScienceVisualizationInteractive VisualizationProgramming LanguagesSoftware EngineeringAbstract Syntax TreesApplication Programming InterfacesControl-flow AnalysisData-flow AnalysisSoftware ConstructionSoftware DesignCode-based VisualizationCompiler DesignCompiler SupportInterface DiagramsLegacy Software MaintenanceLegacy SystemsPointer AnalysisSystem Architecture Diagrams
CodeCompass is an open source LLVM/Clang-based tool developed by Ericsson Ltd. and Eötvös Loránd University, Budapest to help the understanding of large legacy software systems. Based on the LLVM/Clang compiler infrastructure, CodeCompass gives exact information on complex C/C++ language elements like overloading, inheritance, the usage of variables and types, possible uses of function pointers and virtual functions - features that various existing tools support only partially. Steensgaard's and Andersen's pointer analysis algorithms are used to compute and visualize the use of pointers/references. The wide range of interactive visualizations extends further than the usual class and function call diagrams; architectural, component and interface diagrams are a few of the implemented graphs. To make comprehension more extensive, CodeCompass also utilizes build information to explore the system architecture as well as version control information.
10
Thomas J. McCabe · IEEE Transactions on Software Engineering · 1976 · 5.8K citations
Automatic Identification of Bug-Introducing Changes
Sunghun Kim, Thomas Zimmermann, Kai Pan et al. · 2006 · 330 citations
Managing software change tasks: an exploratory study
Jonathan Sillito, Kris De Volder, Brian Fisher et al. · 2005 · 38 citations