SV for Software Engineering
Real World Systems
Heather Richter
CS7390
February 16, 1998
Software in the real world can be complex, large, and evolve over time. Software developers need to write programs, evolve them, debug them and understand them. Applications are needed to aid developers in these tasks. However, textual presentation of the large amount of information would be overwhelming rather than helpful. Thus, visualization can play a key role in presenting complex software and performance information to developers and managers.
Various tools have been proposed to aid software developers in these real-world situations. These tools are:
- PV is a prototype program visualization system for monitoring performance issues developed at IBM Research. PV is a framework with extensions that can display both hardware, operating system and application level activities. Developers can use the system to uncover program failures or find places to improve performance.
- SeeSoft and the related tool SeeSys provide visualization of the textual information of complex evolving software. This information includes the date of changes, change abstract, reason for the changes made to each of the lines of code in the system. The system can aid in the understanding of how the system is composed and how it is changing over time.
- QOCA is a constraint-solving toolkit also developed at IBM Research. This system displays information about executing object oriented programs in such views as an inter-class call cluster and histograms of instances. Software developers can use QOCA to aid in program understanding, debugging and tuning.
Each of the above systems displays a large amount of complex information that is representative of a real software system. All of the example systems incorporate notions of focus, allowing users to see an overview of information, and focus the view to see more details. They also all provide multiple views to the same information, allowing those views to be configured by users. Additionally, they allow multiple views to be coordinated and displayed at the same time. These systems have been built with real world problems and examples in mind, and as such, appear to be very scalable and usable on real world software.
References
- Baker, Marla and Stephen Eick. "Space-filling Software Visualization." Journal of Visual Languages and Computing. 1995. pp 119 - 133.
- Ball, Thomas and Stephen Eick. "Software Visualization in the Large." IEEE Computer. April 1996. pp 33 - 43.
- Stasko, John et al. editors. Software Visualization. The MIT Press, Cambridge, MS. chapters 20 - 22.
Online References