skip to main content
10.1145/1409720.1409726acmconferencesArticle/Chapter ViewAbstractPublication PagessoftvisConference Proceedingsconference-collections
research-article

Algorithm visualization using concrete and abstract shape graphs

Published: 16 September 2008 Publication History

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

[1]
Bieber, R. 2001. Alexsa - Algorithm Explanation by Shape Analysis. Extensions to the TVLA System. Master's thesis, Saarland University.
[2]
Corbera, F., Asenjo, R., and Zapata, E. L. 1999. New shape analysis techniques for automatic parallelization of c codes. In ICS '99: Proceedings of the 13th international conference on Supercomputing, ACM, New York, NY, USA, 220--227.
[3]
Detmetrescu, C., Finocchi, I., Italiano, G. F., and Näher, S. 2002. Visualization in algorithm engineering: tools and techniques. In Experimental algorithmics: from algorithm design to robust and efficient software, Springer-Verlag New York, Inc., New York, NY, USA, 24--50.
[4]
Johannes, D., Seidel, R., and Wilhelm, R. 2005. Algorithm animation using shape analysis: Visualising abstract executions. In Proceedings of the 2005 ACM symposium on Software visualisation, vol. 1, 17--26.
[5]
Klavins, G. 2003. Algorithm Visualisation Using Shape Analysis. Master's thesis, Saarland University.
[6]
Lev-Ami, T., and Sagiv, M. 2000. Tvla: A system for implementing static analyses. Static Analysis Symposium, 280--301.
[7]
Lev-Ami, T., Sagiv, M., T. W. Reps, and R. Wilhelm. 2000. Putting static analysis to work for varification: A case study. International Symposium on Software Testing and Analysis, 26--38.
[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]
Ross, J. L., and Sagiv, M. 1998. Building a bridge between pointer aliases and program dependences. Proceedings of the 1998 European Symposium On Programming (May), 221--235.
[11]
Sagiv, M., Reps, T., and Wilhelm, R. 1996. Solving shape analysis problems in languages with destructive updating. In POPL '96: Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, ACM, New York, NY, USA, 16--31.
[12]
Sagiv, M., Reps, T., and Wilhelm, R. 1998. Solving shape analysis problems in languages with destructive updating. ACM Trans. Program. Lang. Syst. 20, 1, 1--50.
[13]
Sagiv, M., T. Reps, and R. Wilhelm. 1999. Parametric shape analysis via 3-valued logic. Symposium on Principles of Programming Languages, 105--118.
[14]
Sagiv, M., T. Reps, and R. Wilhelm. 2002. Parametric shape analysis via 3-valued logic. ACP Transactions on Programming Languages and Systems 24, 3, 217--298.
[15]
Wilhelm, R., Sagiv, S., and Reps, T. W. 2000. Shape analysis. In International Conference on Compiler Construction, no. 1781 in LNCS, 1--17.
[16]
Wilhelm, R., Müldner, T., and Seidel, R. 2002. Algorithm Explanation: Visualizing Abstract States and Invariants. In Software Visualization, S. Diehl, Ed., LNCS. Springer"=Verlag, 381--394.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SoftVis '08: Proceedings of the 4th ACM symposium on Software visualization
September 2008
228 pages
ISBN:9781605581125
DOI:10.1145/1409720
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithm animation
  2. algorithm visualisation
  3. invariants
  4. shape analysis
  5. shape graphs

Qualifiers

  • Research-article

Conference

Softvis '08

Acceptance Rates

Overall Acceptance Rate 20 of 65 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 536
    Total Downloads
  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media