Generating editing environments based on relations and attributes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Relational queries computable in polynomial time
Information and Control
Gandalf: software development environments
IEEE Transactions on Software Engineering
Prototyping a project master database for software engineering environments
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Adding relational query facilities to software development environments
Proceedings of the Second European Symposium on Programming
Program understanding: challenge for the 1990's
IBM Systems Journal
The Pan language-based editing system for integrated development
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
LaSSIE: a knowledge-based software information system
Communications of the ACM - Special issue on software engineering
Eli: a complete, flexible compiler construction system
Communications of the ACM
Visualizing and querying software structures
ICSE '92 Proceedings of the 14th international conference on Software engineering
Managing design trade-offs for a program understanding and transformation tool
Journal of Systems and Software - Double issue on reengineering complex systems
Cohesion and reuse in an object-oriented system
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Software information systems
Generating testing and analysis tools with Aria
ACM Transactions on Software Engineering and Methodology (TOSEM)
Analytical and empirical evaluation of software reuse metrics
Proceedings of the 18th international conference on Software engineering
Lightweight lexical source model extraction
ACM Transactions on Software Engineering and Methodology (TOSEM)
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Rigi: a visualization environment for reverse engineering
ICSE '97 Proceedings of the 19th international conference on Software engineering
SODOS—a software documentation support environment: its use
ICSE '85 Proceedings of the 8th international conference on Software engineering
Generic Lifecycle Support in the ALMA Environment
IEEE Transactions on Software Engineering
A Framework for Source Code Search Using Program Patterns
IEEE Transactions on Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
A": A Language for Implementing Language Processors
IEEE Transactions on Software Engineering
A Query Algebra for Program Databases
IEEE Transactions on Software Engineering
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Implementing relational views of programs
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Some Experiments Toward Understanding How Program Plan Recognition Algorithms Scale
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Fast, Flexible Syntactic Pattern Matching and Processing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
CCEL: A Metalanguage for C++
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
MoHCA-Java: a tool for C++ to Java conversion support
Proceedings of the 21st international conference on Software engineering
Query by outlines: a new paradigm to help manage programs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Proceedings of the Conference on The Future of Software Engineering
Framework for debugging domain-specific languages
ACM SIGSOFT Software Engineering Notes
Cracking the 500-Language Problem
IEEE Software
Plugging-in visualization: experiences integrating a visualization tool with Eclipse
Proceedings of the 2003 ACM symposium on Software visualization
Representing and Accessing Extracted Information
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A technique for constructing aspect weavers using a program transformation engine
Proceedings of the 3rd international conference on Aspect-oriented software development
Specifying framework constraints with FCL
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Object-oriented processing of Java source code
Software—Practice & Experience
Hypertext support for the information needs of software maintainers
Journal of Software Maintenance and Evolution: Research and Practice
Condate: a proto-language at the confluence between checking and compiling
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A static aspect language for checking design rules
Proceedings of the 6th international conference on Aspect-oriented software development
Generalizing recognition of an individual dialect in program analysis and transformation
Proceedings of the 2007 ACM symposium on Applied computing
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
SAM: Simple API for Object-Oriented Code Metrics
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Artifacts extraction technique
CIT'09 Proceedings of the 3rd International Conference on Communications and information technology
Semantic web enabled software analysis
Web Semantics: Science, Services and Agents on the World Wide Web
Hi-index | 0.00 |
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.