Analysis of programs forms an important activity in the field of software engineering. It is necessary to help understand code, which facilitates comprehensive testing, maintenance and optimization of code. A tool called Aristotle already exists to assist in the analysis of programs written in C. Σοφία is a system designed to provide similar program analysis capabilities for Java.
This documentation is intended to describe the installation and use of the Σοφία system.
Obtaining and Installing Σοφία
The following are example dynamic analysis applications built using the Σοφία framework. We do not package these analyses with Σοφία, but we believe they illustrate the flexibility and capabilities of Σοφία. We are interested in accepting and reporting here other applications built using Σοφία in the future.
(ab)* heuristic pattern miner: A basic implementation of the technique described by Weimer and Necula (paper) for mining simple (ab)* call sequence patterns from program executions. It uses the heuristic that the b events in such patterns are likely to be found in exception handling code.
Propel FSA pattern checker: A small tool that demonstrates using Σοφία to check program executions against a property encoded as a finite state automata (FSA) generated by the Propel tool created at the University of Massachuessetts.
This material is based upon work supported by the National Science Foundation under Grants No 0454203 and 0454348. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Page last updated by Wayne Motycka: 05/21/2008