Extended llvm2KITTeL Docker image for LLVM IR-to-LTS translation.
897
Docker image for an extended version of the original llvm2KITTeL kou branch. The extended implementation is maintained at negarfathi/llvm2kittel.
The extension adds LLVM-IR-to-LTS translation support for structures, arrays, and bit-level operations. It is intended for use with the Athena termination and non-termination analysis framework.
1.0.0 — initial extended release1.1.0 — updated extended releaselatest — recommended current releasedocker pull negarfathi/llvm2kittel:latest
docker run --rm -it \
-v "$(pwd):/work" \
-w /work \
negarfathi/llvm2kittel:latest \
/bin/bash
clang -Wall -Wextra -g -O0 \
-c -emit-llvm input.c \
-o input.bc
Replace input.c with the C source file to analyze.
SIGNEDNESS_INFO=true
UNREACHABLE_EXIT=false
llvm2kittel/build/llvm2kittel \
--signedness-info="$SIGNEDNESS_INFO" \
--unreachable-exit="$UNREACHABLE_EXIT" \
--dump-ll \
--no-slicing \
--eager-inline \
--t2 \
input.bc > output.t2
The generated labeled transition system is written to output.t2.
--signedness-info — true includes signedness information in the generated LTS; false omits it.--unreachable-exit — true treats reaching an unreachable state as a violation; false disables this behavior.If you use this Docker image or the accompanying tool in your research, please cite the following paper:
N. Fathi, H. Unno, T. Terauchi, and R. Purandare, “Sound Termination and Non-termination Analysis of C Programs with Bit-Precise Bounded Semantics and Advanced Constructs,” Proceedings of the ACM on Software Engineering, vol. 3, no. FSE, pp. 4505–4528, Jun. 2026, doi: 10.1145/3808205
Content type
Image
Digest
sha256:d27ab9f66…
Size
269 MB
Last updated
almost 2 years ago
docker pull negarfathi/llvm2kittel