Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information Processing Letters
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract execution: a technique for efficiently tracing programs
Software—Practice & Experience
How to analyze large programs efficiently and informatively
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Developing and integrating ProDAG in the Arcadia environment
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Efficient construction of program dependence graphs
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Motif programming manual (vol. six A)
Motif programming manual (vol. six A)
Efficient computation of interprocedural definition-use chains
ACM Transactions on Programming Languages and Systems (TOPLAS)
Selecting tests and identifying test coverage requirements for modified software
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Programmers use slices when debugging
Communications of the ACM
A Safe, Efficient Algorithm for Regression Test Selection
ICSM '93 Proceedings of the Conference on Software Maintenance
Separate Computation of Alias Information for Reuse
IEEE Transactions on Software Engineering - Special issue: best papers of the 1996 international symposium on software testing and analysis ISSTA'96
A safe, efficient regression test selection technique
ACM Transactions on Software Engineering and Methodology (TOSEM)
Bytecode-based Java program analysis
ACM-SE 37 Proceedings of the 37th annual Southeast regional conference (CD-ROM)
Experience With Regression Test Selection
Empirical Software Engineering
Empirical Studies of Control Dependence Graph Size forC Programs
Empirical Software Engineering
MudPie: layers in the ball of mud
Computer Languages, Systems and Structures
Hi-index | 0.00 |
Aristotle provides program analysis information, and supports the development of software engineering tools. Aristotle's front end consists of parsers that gather control flow, local dataflow and symbol table information for procedural language programs. We implemented a parser for C by incorporating analysis routines into the GNU C parser; a C++ parser is being implemented using similar techniques. Aristotle tools use the data provided by the parsers to perform a variety of tasks, such as dataflow and control dependence analysis, dataflow testing, graph construction and graph viewing. Most of Aristotle's components function on single procedures and entire programs. Parsers and tools use database handler routines to store information in, and retrieve it from, a central database. A user interface provides interactive menu-driven access to tools, and users can view results textually or graphically. Many tools can also be invoked directly from applications programs, which facilitates the development of new tools. To assist with system development and maintenance, we are also creating support tools for managing bug and test suite databases.