Results for tests on OpenAnalysis's implementation of the FIAlias algorithm

SMG2000 IRS
Memory usage [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]
Time: full analysis [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]
Time: no analysis [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]
Time: Just FIAlias algorithm [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]
Time: Just FIAlias algorithm - Num MREs [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]
Time: Just FIAlias algorithm - Size of AST [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [dat] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]
Profile: full analysis [gprof.tgz] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh] [gprof.tgz] [log] [oa_build.log] [USEOA_ROSE_build.log] [cmd.sh]

What you can view

Graph

Self explanatory.

dat

The numbers fed to GNUPlot to produce the graph.

log

The log file produced by the testing script.

oa_build.log

Build log for OpenAnalysis. This specifies what CXXFLAGS (what level of optimization, whether profiling was turned on, etc.) OA was compiled with.

USEOA_ROSE_build.log

Like oa_build.log but applies to the UseOA-ROSE project.

cmd.sh

The command file passed to the testing script.

gprof.tgz

Archive of profiles of the run produced by gprof.

What's being measured in each graph (explanation of labels in first col)

Memory usage

Record of the peak memory usage for OATest when its passed --oa-FIAliasAliasMap.

Time: Full Analysis

Record of the time required to run OATest when passed --oa-FIAliasAliasMap.

Time: No Analysis

Timed benchmark of how long it takes OATest to load the program but skip the analysis. The majority of this time (I'm guessing more than 99%) is spent generating the AST with ROSE, so this can this can be thought of as the "how much overhead does ROSE give us" graph.

Time: Just FIAlias algorithm

Record of the time it takes OATest to run the FIAlias algorithm on some test case but not encode the results into an inter procedural alias map.

Profile: Full Analysis

gprof produced profiles of runs of OATest when passed --oa-FIAliasAliasMap.

How a program is being sliced and stitched

The program's are being sliced into approximate eighths. It's approximate because I don't want to start splitting up files. Each test case is generated by taking some subset of the programs files and then stitching them together (using the Unix cat command) into one giant lump o' C. Due to oddities with include dependencies (these programs weren't made to be compiled in one step as one file) I can't get the 8/8ths slice of SMG to work or the 7/8ths and 8/8ths slice of IRS.

How LOC are being calculated

Lines of code is calculated by taking the source file to run some test on, passing it through the C preprocessor (cpp) and then passing it to SLOCCount.