Visualization in Software Engineering Peter Paquette
Goal/Objective of the Project Investigate current trends and modes of visualization in software Utilize products currently in marketplace Determine if current products meet needs Determine gaps in capability Show a benefit for continuing research or pursuing a specific technology
Why is it Needed? Hundreds of billions of dollars spent of software engineering tasks every year Estimate about bugs per thousand lines of code Estimate about $20k per shipped defect Critical Systems Bugs / Glitches cost lives - medical, military
Current Technology Investigated UML Call Graphs Function Maps Software Metrics Algorithm Visualization
Current Visuals - UML
Current Visuals – Call Graphs
Current Visuals – Function Maps
Current Visuals – Software Metrics
Current Visuals – Algorithm Visualization
Solution Better visualization of a software system and interactions between all aspects of software engineering Visualizations for each type of worker (coder, tester, manager, contractor) Integrate systems into one workspace for better flow and usability – utilize APIs and interfaces Ultimately would like a visual programming language that involves little coding for mainstream tasks
Future Goals Integrated visualization of software process Direct integration into Visual Studio Common data format (XML) for data elements Visualization of all aspects of development Requirements Development Software Estimation Development Debugging Maintenance Tight interactive integration with other tools Source control – Visual Source Safe Bug tracking - Bugzilla Reporting – No current standard way