RANDOM
R-based Analyzer for Numerical Domains
Last version: 0.3.1 - 19/6/2012
Authors: Gianluca Amato, Maurizio Parton and Francesca Scozzari
Random is a static analyzer of programs, based on the theory of abstract interpretation. It can analyze simple imperative R programs (with the standard constructs while, for, if-then-else) with 4 abstract domains: intervals, template parallelotopes, a combination of intervals and template parallelotopes and, finally, general (non-template) parallelotopes. Template parallelotopes are a family of new abstract domains recently introduced in “Deriving numerical abstract domains via Principal Component Analysis”, SAS 2010 and “Discovering invariants via Simple Component Analysis ”, JSC 2011.
For a brief presentation of the tool Random you may read
Download the analyzer: random-0.3.1.tgz.
The analyzer has been tested on Ubuntu Linux, but it should work on any Linux distribution.
You need:
R - the interactive environment with the additional packages RGtk2 and CairoDevice
(on Ubuntu install the packages r-recommended, r-cran-rgtk2, r-cran-cairodevice)GNU Multiple Precision Arithmetic Library with the development library (on Ubuntu install libgmp, libgmp-dev)
gcc – or another equivalent C compiler
How to start:
Download random-0.3.1.tgz into a folder and unpack it
run 'R' from the folder where Random has been installed
from the R prompt, type:
from the R prompt, type source("random.R").
Random is a prototype, which is currently under development at University of Chieti-Pescara, Italy. For any information, you may contact g.amato@unich.it and scozzari@sci.unich.it
Disclaimer: the analyzer is distribuited without any warrant of any kind, under the terms of the GNU GPLv3.
Older versions of Random are also available.