Affiliation:
1. Univ. of California, Davis, Davis
Abstract
Code analysis
tools provide support for such software engineering tasks as program understanding, software metrics, testing, and reengineering. In this article we describe GENOA, the framework underlying application generators such as Aria and GEN++ which have been used to generate a wide range of practical code analysis tools. This experience illustrates
front-end retargetability
of GENOA; we describe the features of the GENOA framework that allow it to be used with different front ends. While permitting arbitrary parse tree computations, the GENOA specification language has special, compact iteration operators that are tuned for expressing simple, polynomial-time analysis programs; in fact, there is a useful sublanguage of the GENOA language that can express precisely all (and only)
polynomial-time
(PTIME) analysis programs on parse trees. Thus, we argue that the GENOA language is a simple and convenient vehicle for implementing a range of analysis tools. We also argue that the “front-and reuse” approach of GENOA offers an important advantage for tools aimed at large software projects: the reuse of complex, expensive build procedures to run generated tools over large source bases. In this article, we describe the GENOA framework and our experiences with it.
Publisher
Association for Computing Machinery (ACM)
Cited by
17 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Direct Interpretation of Functional Programs for Debugging;Electronic Proceedings in Theoretical Computer Science;2019-05-16
2. Constantine: configurable static analysis tool in Eclipse;Software: Practice and Experience;2012-12-07
3. Semantic web enabled software analysis;Web Semantics: Science, Services and Agents on the World Wide Web;2010-07
4. Semantic Web Enabled Software Analysis;SSRN Electronic Journal;2010
5. Grammar Recovery from Parse Trees and Metrics-Guided Grammar Refactoring;IEEE Transactions on Software Engineering;2009-11