solidsx: a visual analysis tool for software maintenance

Post on 12-Feb-2022

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SolidSX: A Visual Analysis Toolfor Software Maintenance

The Situation The Tool

Overview

Try it yourself!

- software maintenance: over 80% of the total software lifecycle costs- software reuse: proven to reduce costs in the industry with 20-40%

- software understanding: over 40% of maintenance and development costs

Challenges- software understanding: over 40% of maintenance and development costs- even top programmers cannot master over 50K lines of code at once- personnel cost, software size increase, targeted time-to-market decreases

Proposal- use visual analytics to enhance understanding of the software - structure (code quality metrics, dependencies, structure) - behavior (dynamic execution, test coverage, performance metrics) - process (evolution of software itself, team interactions)- simple to use, scalable, integrated tools

Input code- C, C++- Java- .NET/C#/VB

SolidSX Visual Analysis ToolCode analyzers- parsers- disassemblers- metric engines

Visualizations- edge bundles- treemaps- table lenses- annotated text

- SQLite database- XML text files

Persistent storage

Fact database- compound graphs- node/edge attributes- selections

- linked views: enhanced hierarchical edge bundles, treemaps, table lenses, code text- analysis: integrated easy to use static analyzers for C, C++, Java, .NET, C#, VB- metrics: code size, complexity, coupling, cohesion, fan-in, fan-out, and many more- scalability: thousands of files, millions of lines of code: real-time visualization- integration: Visual Studio (full), Eclipse (in progress) - customization: via user-written Python scripts (metrics, visualizations, interaction, batch jobs)

Features

Treemap view

Radial view

Tree browser

Table lens

Applications and Extensions

- free trial and academic licenses- open API and SQLite database: easy to integrate with your own analyses or tools- get Java/.NET/C#/C/C++ static analysis for free (integrated with the tool)- download, install, start using in under 5 minutes (Windows)- get our open-source C/C++ anayzer (http://www.cs.rug.nl/svcg/SoftVis/Gcc)

Visual Studio integration: analyze and code- first truly scalable code dependency viewer

Clone detection: discover code duplicates- full integration with own clone detector

Mozilla Firefox: scalability testing- 1.5 M lines, 100K nodes, 800K edges

Image-based Bundles: simplified analysis- see our EuroVis’10 paper for details

Sample scenario- table lens: sort by metrics, identify problematic components- treemap: correlate structure and metrics (using attribute-sorted strip layout)- radial view: explore relations of problematic components with rest of system- text view: see the actual source code details of the identified components

References1. Image-Based Edge Bundles: Simplified Visualization of Large Graphs (A. Telea, O. Ersoy, Comp. Graphics Forum, vol. 29, no. 3, 2010)2. Case Study: Visual Analytics in Software Product Assessments (L. Voinea, A. Telea, Proc. IEEE VISSOFT, 2009)3. Extraction and Visualization of Call Dependencies for Large C/C++ Code Bases: A Comparative Study (H. Hoogendorp, O. Ersoy, D. Reniers, A. Telea, Proc. IEEE VISSOFT 2009)

www.solidsourceit.comwww.cs.rug.nl/svcg

Dennie ReniersSolidSource BV

Eindhoven, the Netherlands

Lucian VoineaSolidSource BV

Eindhoven, the Netherlands

Alexandru TeleaUniversity of Groningen

the Netherlands

top related