Beyond ASIS: program data bases and tool-oriented queries

  • Authors:
  • Janusz Laski;William Stanley;Pawel Podgorski

  • Affiliations:
  • SofTools, Inc., Rochester Hills, Michigan;Oakland University, Rochester, Michigan;WorldClass Technology, Bingham Farms, Mi

  • Venue:
  • Proceedings of the 2001 annual ACM SIGAda international conference on Ada
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The availability of higher level ASIS libraries is of prime importance for the real success of ASIS technology to facilitate the development of Software Analysis and Testing (SAT) tools. This is due to the fact that ASIS queries are expressed in terms of the syntax of an immensely complex language and do not directly support the objectives of a tool builder. In this paper we discuss two plausible sets of higher levels, tool-oriented queries about the Program Under Analysis (PUA), which ideally do not require the knowledge of ASIS. We first present our experience with using ASIS to develop the front end of SWAT (SoftWare Analysis and Testing), a comprehensive system for static and dynamic (execution-based) software analysis. In it, ASIS is used to retrieve the information about the PUA and store it in Program Data Bases (PDBs). Then, an SAT tool uses the PDBs rather than ASIS to get the necessary information about the PUA. We hypothesize that the access functions to the PDBs can be viewed as second-level queries about the PUA; if well thought-out, a claim not made here, those queries can be used to build a wide class of program browsers. If, however, a more complicated tool is needed, a third level of queries can be specified. We illustrate that possibility by briefly showing how SEER, SWAT's dependency analyzer, uses several PDBs to carry out the dependency analysis whose results are stored in the derived PDBs; they are produced by processing the data in the original, primary PDBs. Again, the relations stored in the secondary PDBs gives rise to the third level queries about the PUA. It is obvious that higher level queries neither have to be implemented by an underlying ASIS layer nor the PDBs have to be used for that purpose. The main motivation here was to do that analysis without a direct use of ASIS. Indeed, we stress the importance of research into various SAT tools that would provide guidance in the definition of an "optimal" query language. In particular, we emphasize the need for ASIS queries that support dynamic, execution-based program analysis.