Accrue Interprocedural Java Analysis Framework
==============================================
http://people.seas.harvard.edu/~chong/accrue.html

The Accrue Interprocedural Java Analysis Framework (Accrue) is a
framework for interprocedural analysis of Java programs, implemented
as a Polyglot compiler extension (see
http://www.cs.cornell.edu/projects/polyglot/).  Accrue contains some
common and useful analses, such as a non-null analysis and a precise
exception tracker. More importantly, it contains sufficient building
blocks to make it easy to write new interprocedural analyses.

Since you are reading this file, you have already downloaded and
unpacked the Accrue distribution.  Your installation directory
contains the following sub-directories:

  - src: Source directory of the Accrue Polyglot compiler extension 
  - lib: Contains a jar of the Accrue Polyglot compiler extension
  - tests: Unit tests.
  - sig-src: Signature files for libraries. These are currently
             incomplete.
  - doc: documentation, including JavaDoc.

Disclaimer
----------

Accrue is research software. Over time, some of the interfaces in the
framework may change.  This may require some clients of the framework
to be changed to conform to the new interfaces.  Also, Accrue is not
well documented.  If you use Accrue, we'd appreciate you letting us
know. Please send comments and bug reports to Stephen Chong at
chong@seas.harvard.edu.

Requirements
------------

Polyglot v2.6.0, Java 1.6 or later, ant.

Building Accrue
---------------

From the root directory of Accrue, execute ant. Run "ant -p" for a
description of build targets. You will need to have Polyglot classes
available. You can do this either by setting the environment variable
POLYGLOT to the installation directory of Polyglot, or by editing the
file config.properties to set the polyglot.home property to the
installation directory of Polyglot. 

Writing analyses
----------------

For information about using Accrue to write interprocedural analyses,
see the Accrue manual (doc/manual.html). 

Credits and Acknowledgments
---------------------------

Accrue is developed by:
        Stephen Chong
        Scott Moore
        Owen Arden (Cornell)

Accrue is part of the Accrue Project, led by Professor Stephen Chong at
the School of Engineering and Applied Sciences, Harvard
University. See http://people.seas.harvard.edu/~chong/accrue.html for
more information.

The development of Accrue and the Accrue project has been supported
in part by National Science Foundation under Grant No. 1054172, by
AFRL Contract FA8650-10-C-7022, and the Air Force Office of Scientific
Research.

License 
------- 
The Accrue Interprocedural Java Analysis Framework (Accrue) is
released under the revised BSD license. Please see the file LICENSE
for the license.

The Accrue Interprocedural Java Analysis Framework is Copyright
2012-2014 Accrue Project, Harvard University.

