Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
Evaluation_results.zip | 2016-05-11 | 36.0 kB | |
Benchmarks.zip | 2016-05-11 | 67.9 kB | |
Looperman_Win32.zip | 2016-05-11 | 16.0 MB | |
README.md | 2016-05-11 | 2.2 kB | |
Totals: 4 Items | 16.1 MB | 0 |
THE EASIEST WAY TO REPRODUCE OUR EVALUATION OF LOOPERMAN
- make sure you have the
Looperman_Win32
andBenchmarks
folders in the same directory - run
Looperman_Win32/!evaluate.bat
QUICK RUN
- Put
.c
files intoLooperman_Win32/testPrograms
- run
Looperman_Win32/!buildAll.bat
- run
Looperman_Win32/!boundAll.bat
RUNNING WITH EXTRA PREFERENCES
Preparing the Input:
The input for Looperman is a program in lonka format, which is a special flowgraph representation of programs used within Bugst. A C program a.c
is converted to the lonka format by the following steps:
- Convert
a.c
intoa.llvm
by the tool Clang, which is part of the LLVM compiler infrastructure (http://llvm.org):clang.exe -emit-llvm -g -S a.c -o a.llvm
- Convert
a.llvm
intoa.cel.llvm
by the tool llvm2celllvm, that is a part of the Bugst suite:llvm2celllvm_Win32_Release.exe a.llvm -O a.cel.llvm
- Convert
a.cel.llvm
intoa.lonka
by the tool celllvm2lonka, that is a part of the Bugst suite:celllvm2lonka_Win32_Release.exe a.cel.llvm -O a.lonka
Options for Running Looperman:
The program supports the following options:
-h
Prints a help message.-v
Prints the currect version of the tool.-I
<file> A lonka program to be analysed.-X
<n> Sets the time-out in seconds. The default value is 60.--verbose
Enables commented output.--functionCallBounds
If the program is run with this option, bounds are not computed for loops, but for all transitions with function calls. Hence, to compute an upper bound on the number of executions of some line in a program, one has to insert into the C code a call of some function with no effect (likevoid bound(){}
) just before that line.
INSTALLING LOOPERMAN
The source code can be obtained here:
https://sourceforge.net/p/bugst/src/ci/loop_bounds/tree.
The version used for evaluation is under the commit 1cd99d.