RANDOM

R-based Analyzer for Numerical Domains


Previous version: 0.3 - 23/03/2012


Download the analyzer: random-0.3.0.tgz.


Previous version: 0.3-rc1 - 07/11/2011

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, their combination and parallelotopes. Parallelotopes are a family of new abstract domains recently introduced in “Deriving numerical abstract domains via Principal Component Analysis”, SAS 2010.

For a brief presentation of the tool Random you may read “A tool which mines partial execution traces to improve static analysis”, RV 2010.


Download the analyzer: random-0.3-rc1.tgz.

Screenshots:

The analyzer has been tested on Ubuntu Linux, but it should work on any Linux distribution.

You need:


How to start:


Previous version: 0.2-rc1 - random-0.2-rc1.tgz - 30/10/2010

Screenshots:


Are you impatient to try it? You need:

Try Random in few steps:

  1. Download random-0.2-rc1.tgz into a folder and unpack it

  2. type 'make' from the same folder

  3. run 'R' from the same folder

  4. from the R prompt, type 'source(“random.R”)'


Previous version: 0.1 - random-0.1.tgz - 17/08/2010 (some R functions to test Random: incr.r, xyline.r)

Try Random version 0.1 in few steps:

  1. Download random-0.1.tgz into a folder and unpack it

  2. type 'make' from the same folder

  3. run 'R' from the same folder

  4. from the R prompt, load Random with 'source(“random.r”)'

  5. load any R program you may want to analyze, with 'source(“myprogram.r”)'

  6. start Random with 'compare.analysis(function_name)'


Random is a prototype, which is currently under development at the Department of Science, University of Chieti-Pescara, Italy. For any information, you may contact the authors: amato@sci.unich.it, parton@sci.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.