• 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