GENOA - A customizable, front-end-retargetable source code analysis framework

被引:22
作者
Devanbu, PT [1 ]
机构
[1] Univ Calif Davis, Dept Comp Sci, Engn Unit 1, Davis, CA 95616 USA
关键词
languages; code inspection; metrics; reverse engineering; source analysis;
D O I
10.1145/304399.304402
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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-end 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.
引用
收藏
页码:177 / 212
页数:36
相关论文
共 46 条
[1]  
Ballance R. A., 1990, SIGSOFT Software Engineering Notes, V15, P77, DOI 10.1145/99278.99286
[2]  
BASILI V, 1995, CSTR3395 U MAR DEP C
[3]  
BIEMAN JM, 1995, P S SOFTW REUS SSR 9
[4]  
BORRAS P, 1988, P S SOFTW DEV ENV
[5]  
CHEN YF, 1986, P 10 INT IEEE COMP S
[6]  
CHIDAMBER SR, 1994, IEEE T SOFTWARE ENG, P20
[7]  
CLEAVELAND JC, 1988, AT T TECH J, V67
[8]  
CONSENS M, 1992, P 14 INT C SOFTW ENG
[9]   PROGRAM UNDERSTANDING - CHALLENGE FOR THE 1990S [J].
CORBI, TA .
IBM SYSTEMS JOURNAL, 1989, 28 (02) :294-306
[10]  
CREW RF, 1997, P 1 US C DOM SPEC LA