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

  1. A tool which mines partial execution traces to improve static analysis”, RV 2010.
  2. Random: R-based Analyzer for Numerical DOMains”, LPAR 2012.

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:

How to start:

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.