ACM Home Page
Please provide us with feedback. Feedback
Gaining insight into programs that analyze programs: by visualizing the analyzed program
Full text PdfPdf (422 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications table of contents
Orlando, Florida, USA
SESSION: Onward! short papers session 5: the enchanted tiki room table of contents
Pages 1023-1030  
Year of Publication: 2009
ISBN:978-1-60558-768-4
Authors
Agastya Nanda  Jaypee Institute of Information Technology, Noida, India
Mangala Gowri Nanda  IBM Research, India, New Delhi, India
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 11,   Citation Count: 0
Additional Information:

abstract   references   index terms  

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/1639950.1640074
What is a DOI?

ABSTRACT

Visualization of a program typically entails low level views of the programexecution state showing, for example,method invocations or relations amongst heap objects. In most cases, this would imply visualization of the executable program. However there is a certain genre of programs that analyze or transform other programs. These programs could be compilers, static bug detectors, test suite analyzers, model to model transformers etc. In such cases, very often, it helps to visualize what is happening to the input program rather than the analyzer program. It is for such programs that we describe a configurable, analysis framework. For ease of exposition, we call the analyzer programthe "manipulate" program, and the input programthe "puppet" program. To facilitate the visualization, we instrument the manipulate program to generate a dump as it analyzes the puppet program. Using the "dump", we reconstruct the interprocedural control flow graph of the puppet program and then visualize the flow of the manipulate program over the puppet program. We use colors to highlight different events in the manipulate program. Using this scheme, we are able to (1) gain insight into the manipulate program; (2) collect useful information / statistics about the puppet program.We have implemented the visualizer in a tool called "INSIGHT". We ran INSIGHT on a static debugging tool (the manipulate program) called XYLEM. XYLEM applies static analysis to find potential null pointer exceptions in a puppet program, as for example, the Apache Ant program. We report the insights gained by running XYLEM through INSIGHT on ANT and other puppet programs.


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
Marc H. Brown and Marc A. Najork. Algorithm animation using 3d interactive graphics. In UIST '93: Proceedings of the 6th annual ACM symposium on User interface software and technology, pages 93--100, New York, NY, USA, 1993. ACM. ISBN 0-89791-628-X. http://doi.acm.org/10.1145/168642.168651.
 
2
Camil Demetrescu and Irene Finocchi. A data-driven graphical toolkit for software visualization. In SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization, pages 57--66, New York, NY, USA, 2006. ACM. ISBN 1-59593-464-2. http://doi.acm.org/10.1145/1148493.1148502.
 
3
Harald C. Gall and Michele Lanza. Software evolution: analysis and visualization. In ICSE '06: Proceedings of the 28th international conference on Software engineering, pages 1055--1056, New York, NY, USA, 2006. ACM. ISBN 1-59593-375-1. http://doi.acm.org/10.1145/1134285.1134502.
 
4
Paul Gestwicki and Bharat Jayaraman. Methodology and architecture of jive. In SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization, pages 95--104, New York, NY, USA, 2005. ACM. ISBN 1-59593-073-6. http://doi.acm.org/10.1145/1056018.1056032.
 
5
Jhilmil Jain, James H. Cross, II, T. Dean Hendrix, and Larry A. Barowski. Experimental evaluation of animated-verifying object viewers for java. In SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization, pages 27--36, New York, NY, USA, 2006. ACM. ISBN 1-59593-464-2. http://doi.acm.org/10.1145/1148493.1148497.
 
6
James A. Jones and Mary Jean Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In ASE '05: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, pages 273--282, New York, NY, USA, 2005. ACM. ISBN 1-59593-993-4. http://doi.acm.org/10.1145/1101908.1101949.
 
7
James A. Jones, Mary Jean Harrold, and John Stasko. Visualization of test information to assist fault localization. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 467--477, New York, NY, USA, 2002. ACM. ISBN 1-58113-472-X. http://doi.acm.org/10.1145/581339.581397.
 
8
M. G. Nanda and S. Sinha. Accurate interprocedural null-dereference analysis for Java. In Proceedings of the 31st Intl. Conf. on Softw. Eng., May 2009. (to appear).
 
9
Wim De Pauw and Gary Sevitsky. Visualizing reference patterns for solving memory leaks in java. In ECOOP '99: Proceedings of the 13th European Conference on Object-Oriented Programming, pages 116--134, London, UK, 1999. Springer--Verlag. ISBN 3-540-66156-5.
 
10
Martin Pinzger, Harald Gall, Michael Fischer, and Michele Lanza. Visualizing multiple evolution metrics. In SOFTVIS, pages 67--75, 2005.
 
11
Steven P. Reiss. Visualizing java in action. In SoftVis '03: Proceedings of the 2003 ACM symposium on Software visualization, pages 57--ff, New York, NY, USA, 2003. ACM. ISBN 1-58113-642-0. http://doi.acm.org/10.1145/774833.774842.
 
12
Steven P. Reiss and Manos Renieris. Jove: java as it happens. In SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization, pages 115--124, New York, NY, USA, 2005. ACM. ISBN 1-59593-073-6. http://doi.acm.org/10.1145/1056018.1056034.
 
13
J. Ruthruff, E. Creswick, M. Burnett, C. Cook, S. Prabhakararao, M. Fisher, II, and M. Main. End-user software visualizations for fault localization. In SoftVis '03: Proceedings of the 2003 ACM symposium on Software visualization, pages 123--132, New York, NY, USA, 2003. ACM. ISBN 1-58113-642-0. http://doi.acm.org/10.1145/774833.774851.
 
14
Hina Shah, Carsten Görg, and Mary Jean Harrold. Visualization of exception handling constructs to support program understanding. In SoftVis '08: Proceedings of the 4th ACM symposium on Software visualization, pages 19--28, New York, NY, USA, 2008. ACM. ISBN 978-1-60558-112-5. http://doi.acm.org/10.1145/1409720.1409724.
 
15
John T. Stasko. Tango: A framework and system for algorithm animation. SIGCHI Bull., 21 (3): 59--60, 1990. ISSN 0736-6906. http://doi.acm.org/10.1145/379088.1046618.
 
16
Qin Wang, Wei Wang, Rhodes Brown, Karel Driesen, Bruno Dufour, Laurie Hendren, and Clark Verbrugge. Evolve: an open extensible software visualization framework. In SoftVis '03: Proceedings of the 2003 ACM symposium on Software visualization, pages 37--ff, New York, NY, USA, 2003. ACM. ISBN 1-58113-642-0. http://doi.acm.org/10.1145/774833.774839.