Aristotle Analysis System
Java Architecture for Bytecode Analysis (JABA)
Tarantula Fault Localization System
The Aristotle Analysis System 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 procedures and programs. We have
implemented this front end by incorporating analysis routines into
the Edison Design Group's C parser.
Aristotle tools use the data provided by
parsers to perform a variety of tasks, such as dataflow analysis,
control dependence analysis, code instrumentation, graph construction,
and graph display. Parsers and tools use database handler routines
to store analysis information in, and retrieve it from, a central
database. A user interface provides interactive menu-driven access
to tools, and users can view analysis results textually or graphically.
Many tools can also be invoked directly from applications programs;
this facilitates the development of new tools.
Since its inception, many undergraduate and graduate students have contributed
to the design and implementation of the Aristotle Analysis System:
Lei Cao, Adam Capes, Madhu Chetuparambil, Ning Ci, Clark Crawford, Ashish Gujarathi, Angela Holland, Christie Hong, Tom Jelen, Isaac Jones, Jim Jones, Sudha Krisnhamurthy, Chaitanya Kodeboyina, Loren Larsen, Jim Law, Ilia Lebedenko, Donglin
John Lloyd, David Nedved, Philip O'Connor, Melanie Page, Phani Pandrangi,
Lori Postner, Arvind Prabhudev, Jen Redding, Gregg Rothermel,
Nandukamar Sankaran, Sujatha Sathi, Manvinder Singh, Saurabh Sinha, Laurie Smith, Michael Smith, Ryan Stradling,
Kanupriya Tewary, Rama Tumula, Rui Wu, and Amar Yalavarthy.
Aristotle project partially supported by:
- National Science Foundation,
- Microsoft, Incorporated,
- Boeing Airplane Group,
- Edison Design Group,
- Data General Corporation,
- The Ohio State University Research Foundation.
Request information about getting the Aristotle Analysis System by: