forked from jirislaby/LLVMSlicer
-
Notifications
You must be signed in to change notification settings - Fork 0
ryanphuang/LLVMSlicer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
+=========Original Repository==========+ LLVM slicer ----------- Introduction ============ This is a static slicer based on the Mark Weiser's algorithm in [1]. It is augmented to perform an inter-procedural analysis. The initial criteria considered here are all assert_fail function calls (which is effectively every place where an assert is in the code). HOWTO ===== Basically, what one needs to do to slice src.o LLVM code into dst.o is: $ opt -load LLVMSlicer.so -create-hammock-cfg -slice-inter src.o -o dst.o Both create-hammock-cfg and slice-inter are defined in this project. If you are having troubles with running opt, you are likely not loading the proper library. Of course, you have to make sure that the library is in a path where dynamic libraries are looked for (or add the path where the library is to LD_LIBRARY_PATH). Bug reports =========== Use github for reports and pull requests, please. Contacts ======== Jiri Slaby <[email protected]> https://github.com/jirislaby/LLVMSlicer References ========== [1] M. Weiser. "Program slicing". Proceedings of the 5th International Conference on Software Engineering, pages 439–449, IEEE Computer Society Press, March 1981. +=========This Forked Branch==========+ Changes/enhancement made in the branch: * Port to LLVM make build system and LLVM 3.0 * The input of the slicer can now accept <filename, line number, variable> tuple as the slicing criterion. It will output the final slice. Example: opt -load Debug+Asserts/lib/LLVMSlicer.so -criterion-file="b.c" -criterion-line=13 -criterion-variable="sum" -slice-inter b.ll opt -load Debug+Asserts/lib/LLVMSlicer.so -criterion-file="d.c" -criterion-line=11 -criterion-variable="product" -forward-slice -slice-inter -output-line d.ll * add forward slicing * fix the calling context problems * provide more options * rewrite code Contact [email protected] for the specific changes above
About
Weiser Static Slicer for LLVM 3.9
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 98.7%
- Other 1.3%