Skip to content

Latest commit

 

History

History

tools

ALL ROSE-based tools in this directory provide a command line interface that conforms
to the GNU standard. For every tool --help gives you a brief description
of the command line parameters and available options.

List of ROSE-based tools
------------------------------------------------------------------------
------------------------------------------------------------------------
* moveDeclarationToInnermostScope : This tool will move variable declarations to their innermost possible used scopes.
http:https://rosecompiler.org/ROSE_HTML_Reference/declaration_move.html
https://en.wikibooks.org/wiki/ROSE_Compiler_Framework/Declaration_move_tool

The regression tests of the move tool are located in: 
test/nonsmoke/functional/moveDeclarationTool/Makefile.am

------------------------------------------------------------------------
------------------------------------------------------------------------
* rajaChecker:  a C++ source code analysis tool to detect some specialized code patterns.
The current pattern is called the nodal accumulation pattern. It may be a source of data races.

To use it, install ROSE as usual and rajaChecker will be installed by default. 

Replace your C++ compiler with rajaChecker and add addtitional compiler options such as
 --report string
           Specify the report file for storing results, default is HOME/rajaChecker-passed-files.txt
 --keep_going
           Allow the tool to keep going even if errors happen

  --failure_report string
             Only used when keep_going is turned on. Specify the report file for storing files the tool cannot process, default is
                        HOME/rajaChecker-failed-files.txt

To list all options, type 
   rajaChecker --help

The generated report file will contain text like:

------------------------
/home/liao6/workspace/raja/example/loopsuite.git/loopsuite/StressAccBaseLoopAlgorithm.cxx
Found a nodal accumulation loop at line:210
         The first accumulation statement is at line:238

------------------------
/home/liao6/workspace/raja/example/loopsuite.git/loopsuite/StressWorkBaseLoopAlgorithm.cxx