DocumentCode :
3694164
Title :
CodeSurveyor: Mapping large-scale software to aid in code comprehension
Author :
Nathan Hawes;Stuart Marshall;Craig Anslow
Author_Institution :
Oracle Labs, Brisbane, Australia
fYear :
2015
Firstpage :
96
Lastpage :
105
Abstract :
Large codebases - in the order of millions of lines of code (MLOC) - are incredibly complex. Whether fixing a fault, or implementing a new feature, changes to such systems often have unanticipated effects, as it is impossible for a developer to maintain a complete understanding of the code in their head. This paper presents CodeSurveyor, a spatial visualization technique that aims to support code comprehension in large codebases by allowing developers to view large-scale software at all levels of abstraction. It uses a cartographic metaphor to produce an interactive map of a codebase where users can zoom from a view of a system´s high-level architectural components, represented as continents, down to the individual source files and the entities they define, shown as countries and states, respectively. The layout of the produced code map incorporates system dependency data and sizes regions according to a userconfigurable metric (line count by default), to create distinctive shapes and positions that serve as strong visual landmarks and keep users oriented. We detail the CodeSurveyor algorithm, show it generates code maps of the Linux kernel (1.4 MLOC) in 1.5 minutes, and evaluate the intuitiveness of the metaphor to software developers and its utility in navigation tasks. Results show the effectiveness of the approach with developers of varying experience levels.
Keywords :
"Layout","Visualization","Shape","Vocabulary","Measurement","Software systems"
Publisher :
ieee
Conference_Titel :
Software Visualization (VISSOFT), 2015 IEEE 3rd Working Conference on
Type :
conf
DOI :
10.1109/VISSOFT.2015.7332419
Filename :
7332419
Link To Document :
بازگشت