DocumentCode
3408367
Title
The design of whole-program analysis tools
Author
Atkinson, Darren C. ; Griswold, William G.
Author_Institution
Dept. of Comput. Sci. & Eng., California Univ., San Diego, La Jolla, CA, USA
fYear
1996
fDate
25-29 Mar 1996
Firstpage
16
Lastpage
27
Abstract
Building efficient tools for understanding large software systems is difficult. Many existing program understanding tools build control flow and data flow representations of the program a priori, and therefore may require prohibitive space and time when analyzing large systems. Since much of these representations may be unused during an analysis, we construct representations on demand, not in advance. Furthermore, some representations, such as the abstract syntax tree, may be used infrequently during an analysis. We discard these representations and recompute them as needed, reducing the overall space required. Finally, we permit the user to selectively trade off time for precision and to customize the termination of these costly analyses in order to provide finer user control. We revised the traditional software architecture for compilers to provide these features without unnecessarily complicating the analyses themselves. These techniques have been successfully applied in the design of a program slicer for the Comprehensive Health Care System (CHCS), a million line hospital management system written in the MUMPS programming language
Keywords
MUMPS; medical information systems; program diagnostics; reverse engineering; software tools; tree data structures; Comprehensive Health Care System; MUMPS programming language; abstract syntax tree; compilers; control flow; data flow representations; finer user control; hospital management system; large software systems understanding; program slicer; program understanding tools; software architecture; whole program analysis tools; Buildings; Computer science; Control systems; Hospitals; Medical services; Optimizing compilers; Performance analysis; Programming profession; Software maintenance; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 1996., Proceedings of the 18th International Conference on
Conference_Location
Berlin
ISSN
0270-5257
Print_ISBN
0-8186-7247-1
Type
conf
DOI
10.1109/ICSE.1996.493398
Filename
493398
Link To Document