Title :
Lightweight software reverse engineering using augmented matrix visualizations
Author :
Wehrwein, Bradley
Author_Institution :
Siemens Corp. Corp. Technol., Princeton, NJ, USA
Abstract :
Empirical studies show that understanding existing software is a cost driver in maintenance activities and throughout the software development lifecycle. Presenting large software systems visually to support reverse engineering requires having the right summary to convey the important details. An experienced engineer knows the important details and can customize the view accordingly. In a reverse engineering context without this upfront knowledge and experience, any derived insights are strongly dependent on the (perhaps incorrectly) chosen view. We propose a lightweight visual approach to reverse engineering that supports users in interactively extracting high-level information from software at large scales with little or no upfront system knowledge. To support this we provide a matrix-based visualization method capable of displaying full systems in space-constrained views. The view visually emphasizes high level structural properties and employs a novel dependency display method to summarize and aggregate dependencies as the view changes, eliminating the need for user-directed aggregation decisions. We describe the visualization concept and a prototype tool that supports it, provide an example from the Apache HttpComponents Client open source project, and offer some areas of future work.
Keywords :
data visualisation; information retrieval; interactive systems; matrix algebra; public domain software; reverse engineering; software development management; software maintenance; Apache HttpComponents Client open source project; augmented matrix-based visualization method; dependency display method; high level structural properties; interactively high-level information extraction; lightweight software reverse engineering; lightweight visual approach; maintenance activities; prototype tool; software development lifecycle; space-constrained view; user-directed aggregation decision; Aggregates; Data visualization; Matrix decomposition; Reverse engineering; Software maintenance; Visualization; dependencies; dependency clustering; design structure matrix; reverse engineering; software visualization;
Conference_Titel :
Software Visualization (VISSOFT), 2013 First IEEE Working Conference on
Conference_Location :
Eindhoven
DOI :
10.1109/VISSOFT.2013.6650541