About Crystal
Crystal is a static analysis framework built as an Eclipse plugin. It's primary goals are to teach students about static analysis and to provide a way for researchers to prototype analyses.
You may create new analyses by extending Crystal with another Eclipse plugin. Crystal supports features such as branch-sensitivity, annotation extraction, exceptional control flow, and three address code. The classes used in Crystal are based on the abstractions of lattices and flow functions, thus making it easy to go from a formally defined analysis to a prototype.
Documentation
We now have Javadocs of the Crystal APIs.
Tutorial at ECOOP 2009
The tutorial "Crystal–izing Sophisticated Code Analyses" has been accepted to ECOOP 2009! If you'd like a hands-on experience using Crystal, please meet us at ECOOP 2009 from July 6-10 in Genova, Italy. Our tutorial will be aimed at both educators who would like to use Crystal in the classroom and researchers who would like to write their own Crystal analyses.
Sample NPE Code for Advanced NPE Analyses
Photo by bassmonster.
