Download Latest Version Looperman_Win32.zip (16.0 MB)
Email in envelope

Get an email when there's a new version of bugst

Home / Looperman / 1.0.0
Name Modified Size InfoDownloads / 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

  1. make sure you have the Looperman_Win32 and Benchmarks folders in the same directory
  2. run Looperman_Win32/!evaluate.bat

QUICK RUN

  1. Put .c files into Looperman_Win32/testPrograms
  2. run Looperman_Win32/!buildAll.bat
  3. 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:

  1. Convert a.c into a.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
  2. Convert a.llvm into a.cel.llvm by the tool llvm2celllvm, that is a part of the Bugst suite: llvm2celllvm_Win32_Release.exe a.llvm -O a.cel.llvm
  3. Convert a.cel.llvm into a.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 (like void 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.

Source: README.md, updated 2016-05-11