Generating testing and analysis tools with Aria
- 1 January 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 5 (1) , 42-62
- https://doi.org/10.1145/226155.226157
Abstract
Many software testing and analysis tools manipulate graph representations of programs, such as abstract syntax trees or abstract semantics graphs. Handcrafting such tools in conventional programming languages can be difficult, error prone, and time consuming. Our approach is to use application generators targeted for the domain of graph-representation-based testing and analysis tools. Moreover, we generate the generators themselves, so that the development of tools based on different languages and/or representations can also be supported better. In this article we report on our experiences in developing and using a system called Aria that generates testing and analysis tools based on an abstract semantics graph representation for C and C++ called Reprise. Aria itself was generated by the Genoa system. We demonstrate the utility of Aria and, thereby, the power of our approach, by showing Aria's use in the development of a number of useful testing and analysis tools.Keywords
This publication has 8 references indexed in Scilit:
- Efficient construction of program dependence graphsPublished by Association for Computing Machinery (ACM) ,1993
- Developing and integrating ProDAG in the Arcadia environmentPublished by Association for Computing Machinery (ACM) ,1992
- Eli: a complete, flexible compiler construction systemCommunications of the ACM, 1992
- The Pan language-based editing systemACM Transactions on Software Engineering and Methodology, 1992
- A formal model of program dependences and its implications for software testing, debugging, and maintenanceIEEE Transactions on Software Engineering, 1990
- Centaur: the systemPublished by Association for Computing Machinery (ACM) ,1988
- The program dependence graph and its use in optimizationACM Transactions on Programming Languages and Systems, 1987
- Gandalf: Software development environmentsIEEE Transactions on Software Engineering, 1986