ACM Home Page
Please provide us with feedback. Feedback
Algorithm visualization using concrete and abstract shape graphs
Full text PdfPdf (761 KB)
Source
Software Visualization archive
Proceedings of the 4th ACM symposium on Software visualization table of contents
Ammersee, Germany
SESSION: Software visualization for understanding table of contents
Pages 33-36  
Year of Publication: 2008
ISBN:978-1-60558-112-5
Authors
Sascha A. Parduhn  Saarland University
Raimund Seidel  Saarland University
Reinhard Wilhelm  Saarland University
Sponsors
SIGGRAPH: ACM Special Interest Group on Computer Graphics and Interactive Techniques
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGCHI : Specialist Interest Group in Computer-Human Interaction of the ACM
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 35,   Downloads (12 Months): 198,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1409720.1409726
What is a DOI?

ABSTRACT

Traditional algorithm animation attempts to provide visualizations of the execution of a program on concrete data. In recent years a different approach has been proposed which attempts to visualize an "abstract execution" on "abstract data." This is based on Cousots' notion of abstract interpretations, in particular in the case of programs manipulating pointer structures this is based on so-called shape analysis. Shape analysis maps all possible heap configurations that can arise during a program's executions (a potentially unbounded set) to a finite number of "shape graphs" and it maps steps of the program to transitions between shape graphs. Every concrete execution of the program then corresponds to a sequence of transitions among shape graphs, the "abstract execution." Visualizing such an abstract execution is desirable since sets of shape graphs in a very strong sense encode invariants of the program and understanding the effect of a program usually benefits more from grasping what stays invariant than from seeing what changes.

In this paper we combine the two approaches and argue for simultaneously visualizing a concrete and the corresponding abstract execution of a program. We have built a Visualizer for programs manipulating pointer structures that realizes this combined abstract/concrete visualization. It uses TVLA to automatically perform the shape analysis of a program. It allows to present abstract and concrete views in an extremely customizable way. This paper however does not present our Visualizer, but focuses on the technique to combine concrete and abstract visualizations.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Bieber, R. 2001. Alexsa - Algorithm Explanation by Shape Analysis. Extensions to the TVLA System. Master's thesis, Saarland University.
2
 
3
4
 
5
Klavins, G. 2003. Algorithm Visualisation Using Shape Analysis. Master's thesis, Saarland University.
 
6
7
 
8
Lev-Ami, T. 2000. TVLA:A framework for Kleene based static analysis. PhD thesis, Tel-Aviv University.
 
9
Manevich, R., and Sagiv, M. 2004. TVLA: User's Manual. Tel-Aviv University.
 
10
11
12
13
14
 
15
 
16

Collaborative Colleagues:
Sascha A. Parduhn: colleagues
Raimund Seidel: colleagues
Reinhard Wilhelm: colleagues