Abstract:
Previous work in software visualization has demonstrated the advantages of presenting programs in a graphical manner in both program understanding and debugging. Among the class of program visualization systems are those which operate non-intrusively on program sources. One of the major challenges faced by users of such systems is the problem of filtering the enormous amount of run-time information present during the execution of a large system. In this thesis, I describe an evolution of the Software Landscape. The Software Landscape is a tool for browsing a software system's static structure using boxes together with arrow and containment relations. My Run-Time Landscape includes run-time information, utilizes the Landscape paradigm for the elision of unwanted details, and provides a tightly integrated environment for viewing program artifacts from different perspectives. This prototype is useful in debugging, program understanding, and profiling. ii Acknowledgements I am grateful for the kind support of many people. First among those people, I wish to thank my supervisor Professor Richard C. Holt for his patience, guidance, and constructive criticism. I also thank Professor Dave B. Wortman, my second reader, for his helpful suggestions. The members of the Turing Group are appreciated for their support and involvement in my work. Many thanks to Spiros Mancoridis, Richard Holt, David Penny, Michael Godfrey, Brian Hall, and Gary Farmaner. Special thanks go to Ron Wessels for implementing the compiler-side of the prototype as I needed it. I would also like to thank Blaine Price, Professor Jim Cordy, and Wayne Hayes for their discussions and input on the Run-Time Landscape. To my friends in DCS, I thank you all for your friendship and support which made obtaining my M.Sc. a positive experience. My parents deserve special thanks for always standing behind me and raising me with a strong belief in higher education. Also, my brothers have been strong role models for me. Lastly, the generous financial support of the University of Toronto is gratefully awknowledged. iii To my parents
Citations
|
3148
|
Computer architecture : a quantitative approach, 3rd ed
– Hennessy, Patterson, et al.
- 2003
|
|
797
|
Software Engineering. A Practitioners Approach
– Pressman
- 1997
|
|
555
|
Generalized Fisheye Views
– Furnas
- 1986
|
|
322
|
Algorithm Animation
– Brown
- 1988
|
|
269
|
Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities
– Amdahl
- 1967
|
|
241
|
Tango: A Framework and System for Algorithm Animation
– Stasko
- 1990
|
|
197
|
The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory
– Borning
- 1981
|
|
168
|
A taxonomy of software visualization
– Price, Baeker, et al.
- 1992
|
|
168
|
Graphical fisheye views of graphs
– Sarkar, Brown
- 1992
|
|
143
|
Taxonomies of Visual Programming and Program Visualization
– Myers
- 1990
|
|
99
|
Exploring Algorithms Using Balsa II
– Brown
- 1988
|
|
74
|
Animation: From Cartoons to the User Interface
– Chang, Ungar
- 1993
|
|
74
|
SeeSoft --A Tool for Visualizing Line Oriented Software Statistics
– Eick, Steffen, et al.
|
|
69
|
Stretching the Rubber Sheet: A Metaphor for Viewing
– Sarkar, Snibbe, et al.
- 1993
|
|
62
|
Disney Animation: The Illusion of Life
– Thomas, Johnson
- 1981
|
|
58
|
Incense: A System for Displaying Data Structures
– Myers
- 1983
|
|
52
|
Automated Program Recognition by Graph Parsing
– Wills
- 1992
|
|
51
|
Animation support in a user interface toolkit
– Hudson, Stasko
|
|
49
|
The Turing programming language
– Holt, Cordy
- 1988
|
|
48
|
Automated Program Recognition: A Feasibility Demonstration
– Wills
- 1990
|
|
45
|
Visual programming, programming by example, and program visualization: a taxonomy
– Myers
- 1986
|
|
33
|
A Hygraph-based Query and Visualization System
– Consens, Mendelzon, et al.
- 1993
|
|
33
|
Pict: An Interactive Graphical Programming Environment
– Glinert, Tanimoto
- 1984
|
|
32
|
Animating programs using Smalltalk
– London, Duisberg
- 1985
|
|
31
|
The Software Landscape: A Visual Formalism for Programming-in-the-Large
– Penny
- 1992
|
|
24
|
Defining Constraints Graphically
– Borning
- 1986
|
|
22
|
Applying algorithm animation techniques for program tracing, debugging, and understanding
– Mukherjea, Stasko
- 1993
|
|
18
|
Plan analysis of programs
– Letovsky
- 1988
|
|
16
|
Debugging distributed programs by visualizing and querying event traces
– Consens, Hasan
- 1994
|
|
15
|
Creating and Filtering Structural Data Visualizations using Hygraph Patterns
– Consens
- 1994
|
|
15
|
Automatic Data Visualization for Novice Pascal Programmers
– Myers, Chandhok, et al.
- 1988
|
|
13
|
The State of the Art in Visual Programming and Program Visualization
– Myers
- 1988
|
|
12
|
Planning and Coding Problems of an Electronic Computing Instrument
– Goldstein, Neumann
- 1947
|
|
11
|
A Program to Draw Multi-Level Flow Charts
– Haibt
- 1959
|
|
10
|
Plan Diagrams as a Basis for Understanding and Debugging Pascal Programs
– Lutz
- 1992
|
|
10
|
Visual Programming. Van Nostrand Reinhold
– Shu
- 1988
|
|
9
|
A Program Understanding Environment Based on the "Star" Approach to Tool Integration
– Mancoridis, Holt, et al.
- 1994
|
|
8
|
The University of Washington Program Illustrator
– Henry, Whaley, et al.
- 1990
|
|
8
|
Declarative Database Visualization: Recent Papers from the Hy+/GraphLog Project
– Mendelzon
- 1993
|
|
8
|
A Framework for the Automatic Animation of Concurrent Programs
– Price
- 1990
|
|
7
|
A Conceptual Framework for Software Development
– Mancoridis, Holt, et al.
- 1993
|
|
7
|
A "Curriculum-Cycle" Environment for Teaching Programming
– Mancoridis, Holt, et al.
- 1993
|
|
7
|
Using animation to design, document and trace object-oriented systems
– Shilling, Stasko
- 1992
|
|
6
|
VCC: Automatic Animation of C Programs
– Baeza-Yates, Jara, et al.
- 1992
|
|
6
|
Visualizing code profiling line oriented statistics
– Eick, Steffen
- 1992
|
|
6
|
Multicolour Programming and Metamorphic Programming: Object Oriented Programming-in-the-Large
– Holt, Penny, et al.
- 1992
|
|
4
|
Visualizing the Behaviour of Object-Oriented Systems
– Pauw, Helm, et al.
- 1993
|
|
2
|
programming environment with integrated structuredriven editor running
– Chandhok, Garlan, et al.
- 1991
|
|
1
|
Panel Discussion: An Application Overview of Program Visualization
– Baecker
- 1986
|
|
1
|
Sorting out Sorting. 25 minute 16mm narrated colour film
– Baecker, Sherman
- 1981
|