Predator-adt is experimental specialization of Predator tool with the aim of analysis and conversion of pointer-oriented C code to high level container-oriented code.


* 2015-09-01: experimental support for cyclic DLL
* 2015-05-01: experimental template for list with "head" pointer, new examples


Predator-adt is part of Predator distribution, please see the page for installation instructions. We recommend the use of latest version available at GitHub predator repository (2015-05-01 snapshot).

After successfull installation of Predator (run the installation script with pathname of your GCC compiler, for example: /usr/bin/gcc), we use this setting:

 ln -s ~/bin/predator-adt FULL-PATH-TO-INSTALLATION-OF-PREDATOR/sl/ 
(The ~/bin directory should be in your $PATH)


After correct installation the usage is simple - type the command

 predator-adt source.c 
on the command line. (Warning: Expect many SVG files in current directory.)

As an example how Predator-adt works you can look at simple demo and Predator-adt output (see graph on the right part of the picture, click-through internal representation is on the left side). For more examples see next section.

Experimental Results, Source Code of the Examples, etc.

The experimental results for Category 1 and Category 2.

The archive of example sources and generated SVGs with results: evaluation-examples-src-with-svg.tar.gz

The archive of j2bp results only: experimental-j2bp-output.tar.gz

Experiment with new template creation: example

New experiment with cyclic DLL: example-cdll

Some experiments adapted from Slayer: slayer

Predator-adt Team


This work was supported by the Czech Science Foundation (project P103/10/0306), the Czech Ministry of Education, Youth, and Sports (projects COST OC10009 and MSM 0021630528), the EU/Czech IT4Innovations Centre of Excellence CZ.1.05/1.1.00/02.0070, and the internal Brno University of Technology projects FIT-S-11-1 and FIT-S-12-1.

Last modification: 2015-10-30