Affiliation:
1. IBM T.J. Watson Research Center, Yorktown Heights, NY
2. Univ. of California, San Diego, La Jolla
Abstract
With a meaning-preserving restructuring tool, a software engineer can change a program's structure to ease future modifications. However, deciding how to restructure the program requires a global understanding of the program's structure, which cannot be derived easily by directly inspecting the source code. We describe a manipulable program visualization—the
star diagram
—that supports the restructuring task of encapsulating a global data structure. The star diagram graphically displays information pertinent to encapsulation, and direct manipulation of the diagram causes the underlying program to be restructured. The visualization compactly presents all statements in the program that use the given global data structure, helping the programmer to choose the functions that completely encapsulate it. Additionally, the visualization elides code unrelated to the data structure and to the task and collapses similar expressions to help the programmer identify frequently occurring code fragments and manipulate them together. The visualization is mapped directly to the program text, so manipulation of the visualization also restructures the program. We present the star diagram concept and describe an implementation of the star diagram built upon a meaning-preserving restructuring tool for Scheme. We also describe our creation of star diagram generators for C programs, and we test the scalability of the star diagram using large C and MUMPS programs.
Publisher
Association for Computing Machinery (ACM)
Reference49 articles.
1. Pirate's Adventure;ADAMS S.;BYTE,1980
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Identification of Extract Method Refactoring Opportunities through Analysis of Variable Declarations and Uses;International Journal of Software Engineering and Knowledge Engineering;2017-02
2. The Word Tree, an Interactive Visual Concordance;IEEE Transactions on Visualization and Computer Graphics;2008-11
3. A General Framework for Overlay Visualization;Electronic Notes in Theoretical Computer Science;2007-07
4. Incremental Maintenance of Software Artifacts;IEEE Transactions on Software Engineering;2006-09
5. Instruction-coated translation;ACM SIGPLAN Notices;2006-08