skip to main content
10.1145/1056018.1056021acmconferencesArticle/Chapter ViewAbstractPublication PagessoftvisConference Proceedingsconference-collections
Article

Algorithm animation using shape analysis: visualising abstract executions

Published: 14 May 2005 Publication History

Abstract

This paper describes progress in a non-traditional approach to algorithm animation. We visualise the abstract execution of an algorithm instead of animating the algorithm for executions on concrete input data. Algorithms under consideration are imperative pointer-based algorithms. For our purpose, we need to compute invariants which describe the state of the heap. The most powerful method to accomplish this task automatically is shape analysis. However, the output of a shape analysis can get confusingly large and complex, and it may contain redundancy as well. We need to identify those configurations which are important according to our visualisation aim, such as teaching the algorithm. We present suitable methods for structuring the shape analysis output and for finding expressive configurations. Our approach is exemplified for binary tree algorithms.

References

[1]
Bieber, R. 2001. Alexa Algorithm explanation by Shape Analysis. Extensions to the TVLA system. Master's thesis, Universität des Saarlandes, Germany.]]
[2]
Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd ed. The MIT Press, Cambridge.]]
[3]
Kerren, A., and Stasko, J. T. 2001. Algorithm Animation - Introduction. In Software Visualization, 1--15.]]
[4]
Klavins, G. 2003. Algorithm Visualization Using Shape Analysis. Master's thesis, Universität des Saarlandes, Germany.]]
[5]
Lev-Ami, T., and Sagiv, S. 2000. TVLA: A system for implementing static analyses. In Static Analysis Symposium, 280--301.]]
[6]
Lev-Ami, T., Reps, T. W., Sagiv, S., and Wilhelm, R. 2000. Putting static analysis to work for verification: A case study. In International Symposium on Software Testing and Analysis, 26--38.]]
[7]
Lev-Ami, T. 2000. TVLA: A Framework for Kleene-Based Static Analysis. Master's thesis, Tel-Aviv University, Israel.]]
[8]
Michail, A. 1996. Teaching binary tree algorithms through visual programming. In Proceedings of the IEEE Symposium on Visual Languages, IEEE Computer Society Press, Washington, 38--45.]]
[9]
Michail, A. 1996. Teaching binary tree algorithms through visual programming. Tech. rep., University of Washington.]]
[10]
Michail, A. 1998. Imitation: An alternative to generalization in programming by demonstration systems. Tech. Rep. UW-CSE-98-08-06, University of Washington.]]
[11]
Price, B. A., Baecker, R. M., and Small, I. S. 1993. A principled taxonomy of software visualization. Journal of Visual Languages and Computing 4, 3, 211--266.]]
[12]
Sagiv, S., Reps, T. W., and Wilhelm, R. 1999. Parametric shape analysis via 3-valued logic. In Symposium on Principles of Programming Languages, 105--118.]]
[13]
Sagiv, S., Reps, T. W., and Wilhelm, R. 2002. Parametric shape analysis via 3-valued logic. ACP Transactions on Programming Languages and Systems 24, 3, 217--298.]]
[14]
Wilhelm, R., Sagiv, S., and Reps, T. W. 2000. Shape analysis. In Computational Complexity, 1--17.]]
[15]
Wilhelm, R., Müldner, T., and Seidel, R. 2002. Algorithm explanation: Visualizing abstract states and invariants. In Software Visualization, Springer Verlag, vol. 2269 of LNCS, 381--394.]]
[16]
Wilhelm, R., Reps, T. W., and Sagiv, S. 2002. Shape analysis and applications. In The Compiler Design Handbook. CRC Press, 175--218.]]

Cited By

View all
  • (2016)Past, Present, and Future of and in Software VisualizationComputer Vision, Imaging and Computer Graphics - Theory and Applications10.1007/978-3-319-25117-2_1(3-11)Online publication date: 7-Jan-2016
  • (2008)Algorithm visualization using concrete and abstract shape graphsProceedings of the 4th ACM symposium on Software visualization10.1145/1409720.1409726(33-36)Online publication date: 16-Sep-2008
  • (2007)An appreciation of the work of Reinhard WilhelmProgram analysis and compilation, theory and practice10.5555/1805793.1805795(1-11)Online publication date: 1-Jan-2007
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization
May 2005
211 pages
ISBN:1595930736
DOI:10.1145/1056018
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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 May 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. abstract execution
  2. algorithm animation
  3. invariant
  4. shape analysis
  5. tree
  6. visualisation

Qualifiers

  • Article

Conference

Acceptance Rates

Overall Acceptance Rate 20 of 65 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2016)Past, Present, and Future of and in Software VisualizationComputer Vision, Imaging and Computer Graphics - Theory and Applications10.1007/978-3-319-25117-2_1(3-11)Online publication date: 7-Jan-2016
  • (2008)Algorithm visualization using concrete and abstract shape graphsProceedings of the 4th ACM symposium on Software visualization10.1145/1409720.1409726(33-36)Online publication date: 16-Sep-2008
  • (2007)An appreciation of the work of Reinhard WilhelmProgram analysis and compilation, theory and practice10.5555/1805793.1805795(1-11)Online publication date: 1-Jan-2007
  • (2007)Web‐based Structured Hypermedia Algorithm Explanation systemInternational Journal of Web Information Systems10.1108/174400807108342383:3(179-197)Online publication date: 28-Sep-2007
  • (2007)An Appreciation of the Work of Reinhard WilhelmProgram Analysis and Compilation, Theory and Practice10.1007/978-3-540-71322-7_1(1-11)Online publication date: 2007
  • (2006)Dynamic Data Structure Analysis for Java ProgramsProceedings of the 14th IEEE International Conference on Program Comprehension10.1109/ICPC.2006.20(191-201)Online publication date: 14-Jun-2006

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