ACM Home Page
Please provide us with feedback. Feedback
GENOA—a customizable, front-end-retargetable source code analysis framework
Full text PdfPdf (241 KB)
Source ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 8 ,  Issue 2  (April 1999) table of contents
Pages: 177 - 212  
Year of Publication: 1999
ISSN:1049-331X
Author
Premkumar T. Devanbu  Univ. of California, Davis, Davis
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 63,   Citation Count: 15
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/304399.304402
What is a DOI?

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.


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
 
2
BASILI, V., BRIAND, L., AND MELO, W. 1995. Measuring the impact of reuse on quality and productivity in object-oriented systems. Tech. Rep. CS-TR-3395. Department of Computer Science, University of Maryland, College Park, MD.
3
4
 
5
CHEN, Y. F. AND RAMAMOORTHY, C.V. 1986. The C information abstractor. In Proceedings of the lOth International IEEE on Computer Software and Applications Conference (COMP- SAC, Chicago, IL, Oct.). IEEE Press, Piscataway, NJ.
 
6
 
7
CLEAVELAND, J. C. AND KINTALA, C. 1988. Tools for building applications generators. AT&T Tech. J. 67, 4.
8
 
9
 
10
CREW, R. F. 1997. Astlog: A language for examining abstract syntax trees. In Proceedings of 1st Usenix Conference on Domain-Specific Languages (Oct.). USENIX Assoc., Berkeley, CA.
 
11
 
12
DEVANBU, P. 1998. The gen+ + page. University of California at Davis, Davis, CA. http://seclab.cs.ucdavis.edu/~devanbu/genp
13
 
14
15
 
16
 
17
GRASS, J. AND CHEN, Y. F. 1990. The C + + information abstractor. In Proceedings of the 2nd USENIX on USENIX C+ + Conference (Apr.). USENIX Assoc., Berkeley, CA.
18
 
19
 
20
 
21
 
22
 
23
24
 
25
 
26
JERDING, D., STASKO, J., AND BALL, T. 1997. Visualizing message patterns in object-oriented program. In Proceedings of the 19th International Conference on Software Engineering (ICSE '97, May). IEEE Press, Piscataway, NJ.
 
27
KARSTU, S. AND OTT, L. 1994. An investigation of the behaviour of slice based cohesion measures. Tech. Rep. CS-TR 94-03. Michigan Technological Univ., Houghton, MI.
 
28
KOWALSKI, T., SEQUIST, C., ELLIS, B., GOGUEN, H. H., PUTTRESS, J. J., CASTILLO, C. M., ROWLAND, J. R., RATH, C. A., WILSON, J. M., VESONDER, G., AND SCHMIDT, J. L. 1991. A reflective C programming environment. In Proceedings of the International Workshop on UNIX-Based Software Development Environments. USENIX Assoc., Berkeley, CA.
 
29
30
 
31
 
32
MENDON~A, N. C. AND KRAMER, J., Eds. 1998. Proceedings of Workshop on Program Comprehension. (Los Alamitos, CA, Apr.) IEEE Computer Society, Washington, DC.
33
 
34
 
35
36
 
37
REASONING SYSTEMS. 1989. REFINE User's Guide. Reasoning Systems, Inc., Palo Alto, CA.
38
 
39
ROSENBLUM, D. AND WOLF, A. 1991. Representing semantically analyzed C++ code with Reprise. In Proceedings of the 3rd USENIX on C+ + Conference (Apr.). USENIX Assoc., Berkeley, CA.
 
40
SELLINK, M. P. A. AND VERHOEF, C. 1998. Generation of software renovation factories from compilers. Tech. Rep. P98. Dept. of Computer Science, Univ. of Amsterdam, The Netherlands.
41
 
42
STEFFEN, J. 1981. The CScope Program: Berkeley UNIX Release 3.2.
43
 
44
 
45
 
46
ZEIGLER, S. 1995. Comparing development costs of C and Ada. Tech. Rep. Rational Software Corp. Available via http://wuarchive.wustl.edu/languages/ada/ajpo/docs/reports/cada/ cada art.html.

CITED BY  15


REVIEW

"James Dennis Kiper : Reviewer"

The information collected by source code analysis tools can be quite useful in such tasks as testing, reengineering, or optimization of software. GENOA's contribution to this field is in demonstrating a way of solving two problems for builders  more...

Collaborative Colleagues:
Premkumar T. Devanbu: colleagues