| Beyond ASIS: program data bases and tool-oriented queries |
| Full text |
Pdf
(49 KB)
|
| Source
|
Annual International Conference on Ada
archive
Proceedings of the 2001 annual ACM SIGAda international conference on Ada
table of contents
Bloomington, MN
SESSION: Parallel tracks - track 2
table of contents
Pages: 81 - 90
Year of Publication: 2001
ISBN:1-58113-392-8
Also published in ...
|
|
Authors
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 1, Downloads (12 Months): 11, Citation Count: 0
|
|
|
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.
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
|
Barnes, J., "High Integrity Ada, The SPARK Approach," Addison-Wesley, 1997
|
 |
2
|
|
 |
3
|
|
| |
4
|
Graham, D. R., " Where is CAST Heading? Directions and Trends for Testing Tools," Proc. Sixth International Software Quality Week, San Francisco, May 25-28, 1993
|
| |
5
|
|
 |
6
|
|
| |
7
|
Information Technology - Programming Languages --- Ada Semantic Interface Specification (ASIS), ISO/IEC 15291: 1997(E)
|
| |
8
|
|
| |
9
|
|
 |
10
|
Janusz Laski , William Stanley , Jim Hurst, Dependency analysis of Ada programs, Proceedings of the 1998 annual ACM SIGAda international conference on Ada, p.263-275, November 08-12, 1998, Washington, D.C., United States
|
| |
11
|
Laski, J., W. Szermer, "Identification of Program Modifications and its Applications in Software Maintenance," Proc. IEEE Conference on Software Maintenance, Orlando, Florida, Nov. 1992, pp. 282-290.
|
| |
12
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.5
Testing and Debugging
Subjects:
Testing tools (e.g., data generators, coverage testing)
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.2
Design Tools and Techniques
Subjects:
Software libraries
General Terms:
Algorithms,
Languages,
Verification
Keywords:
ASIS,
Ada,
Software,
dynamic analysis,
program data bases,
program dependencies,
queries,
static analysis,
testing,
verification
|