-
Installation
After downloading the latest version, extract the tarball, cd to the newly created directory and copy the files anywhere you like. Do not forget to include that location when compiling programs that use Ast2Cfg.
For example:
$ tar -xzf ast2cfg-0.3.tar.gz $ cd ast2cfg-0.3 $ cp * /usr/lib/gnat-gpl/i686-pc-linux-gnu/4.1/adainclude/
-
Detailed Documentation
To get an overview we recommend our paper A Framework for CFG-based Static Program Analysis of Ada Programs.
Detailed user and developer documentation is available in a chapter of the Master's thesis Detecting Busy Waiting by Means of Static Control Flow Analysis and in form of a technical report. You may get both in the downloads section.
-
Changelog
0.3.2: ====== 2009-07-27, r435: - parameter tree compression now optional. Default: Yes - implemented caching to speed up the linking of call nodes - linking the call nodes (for interprocedural analysis) is now optional. Default: no - added declaration ids - construction of prefixes (e.g. Foo.Bar for Baz) - Get_Full_Name for a Flow_Object (e.g. Foo.Bar.Baz) - overloaded some methods to also return an Unbounded_String or a String, respectively - bugfix for generic list - bugfix (node mark issue) in post transformation 0.3: ==== 2009-01-31, r397: - reimplemented the internal list structures - fixed many small bugs 0.2: ==== 2008-06-01, r380: - implemented call node linking - implemented correct return linking - bugfixed cfg.tail node saving - fixed parameter tree support for some special constructs - added < and > to id - implemented the new and correct exit handling - added trivial exit nodes and complex exit nodes - implemented the end nodes for CFGs - resolved the "No exit node for loop with label"-bug 0.1.1: ====== 2007-10-07, r271: - corrected the handling of out-of-scope instantiations