SVF-tools / Svf
Licence: other
Static Value-Flow Analysis Framework for Source Code
Stars: ✭ 540
Labels
Projects that are alternatives of or similar to Svf
Crab Llvm
Static Analyzer for LLVM bitcode based on Abstract Interpretation
Stars: ✭ 143 (-73.52%)
Mutual labels: static-analysis, llvm
flextool
C++ compile-time programming (serialization, reflection, code modification, enum to string, better enum, enum to json, extend or parse language, etc.)
Stars: ✭ 32 (-94.07%)
Mutual labels: llvm, static-analysis
Sys
Sys: A Static/Symbolic Tool for Finding Good Bugs in Good (Browser) Code
Stars: ✭ 149 (-72.41%)
Mutual labels: static-analysis, llvm
Cxxctp
DEPRECATED. USE INSTEAD github.com/blockspacer/flextool
Stars: ✭ 58 (-89.26%)
Mutual labels: static-analysis, llvm
Phasar
A LLVM-based static analysis framework.
Stars: ✭ 503 (-6.85%)
Mutual labels: static-analysis, llvm
Codechecker
CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
Stars: ✭ 1,209 (+123.89%)
Mutual labels: static-analysis, llvm
SCAF
A Speculation-Aware Collaborative Dependence Analysis Framework
Stars: ✭ 25 (-95.37%)
Mutual labels: llvm, static-analysis
Dg
[LLVM Static Slicer] Various program analyses, construction of dependence graphs and program slicing of LLVM bitcode.
Stars: ✭ 242 (-55.19%)
Mutual labels: static-analysis, llvm
progge.rs
Program analysis playground for a simple, imperative language
Stars: ✭ 29 (-94.63%)
Mutual labels: llvm, static-analysis
clam
Static Analyzer for LLVM bitcode based on Abstract Interpretation
Stars: ✭ 180 (-66.67%)
Mutual labels: llvm, static-analysis
Stoat
STatic (LLVM) Object file Analysis Tool
Stars: ✭ 44 (-91.85%)
Mutual labels: static-analysis, llvm
Clang Power Tools
Bringing clang-tidy magic to Visual Studio C++ developers.
Stars: ✭ 285 (-47.22%)
Mutual labels: static-analysis, llvm
Domtresat
Dominator Tree LLVM Pass to Test Satisfiability
Stars: ✭ 42 (-92.22%)
Mutual labels: static-analysis, llvm
Sea Dsa
A new context, field, and array-sensitive heap analysis for LLVM bitcode based on DSA.
Stars: ✭ 90 (-83.33%)
Mutual labels: static-analysis, llvm
OCCAM
OCCAM: Object Culling and Concretization for Assurance Maximization
Stars: ✭ 20 (-96.3%)
Mutual labels: llvm, static-analysis
Clangkit
ClangKit provides an Objective-C frontend to LibClang. Source tokenization, diagnostics and fix-its are actually implemented.
Stars: ✭ 330 (-38.89%)
Mutual labels: static-analysis, llvm
Staticscript
🚀 TypeScript compiler on top of TypeScript as frontend and LLVM as backend
Stars: ✭ 447 (-17.22%)
Mutual labels: llvm
News
- VSFS published in our CGO paper is now available in SVF
- TypeClone published in our ECOOP paper is now available in SVF
- SVF now uses a single script for its build. Just type
source ./build.sh
in your terminal, that's it! - SVF now supports LLVM-10.0.0!
- We thank bsauce for writing a user manual of SVF (link1 and link2) in Chinese
- SVF now supports LLVM-9.0.0 (Thank Byoungyoung Lee for his help!).
- SVF now supports a set of field-sensitive pointer analyses.
- Use SVF as an external lib for your own project (Contributed by Hongxu Chen).
- SVF now supports LLVM-7.0.0.
- SVF now supports Docker. Try SVF in Docker!
- SVF now supports LLVM-6.0.0 (Contributed by Jack Anthony).
- SVF now supports LLVM-4.0.0 (Contributed by Jared Carlson. Thank Jared and Will for their in-depth discussions about updating SVF!)
- SVF now supports analysis for C++ programs.
Documentation
If you want to build the documentation yourself go into doc and invoke doxygen:
cd doc && doxygen doxygen.config
[email protected] if you are interested)
We are looking for self-motivated PhD students and we welcome industry collaboration/sponsorship to improve SVF (Please contactSVF is a source code analysis tool that enables interprocedural dependence analysis for LLVM-based languages. SVF is able to perform pointer alias analysis, memory SSA form construction, value-flow tracking for program variables and memory error checking.
About SVF | Setup Guide | User Guide | Developer Guide |
---|---|---|---|
Introducing SVF -- what it does and how we design it | A step by step setup guide to build SVF | Command-line options to run SVF, get analysis outputs, and test SVF with an example or PTABen | Detailed technical documentation and how to write your own analyses in SVF or use SVF as a lib for your tool |
We release SVF source code in the hope of benefiting others. You are kindly asked to acknowledge usage of the tool by citing some of our publications listed http://svf-tools.github.io/SVF, especially the following two:
@inproceedings{sui2016svf,
title={SVF: interprocedural static value-flow analysis in LLVM},
author={Sui, Yulei and Xue, Jingling},
booktitle={Proceedings of the 25th international conference on compiler construction},
pages={265--266},
year={2016},
organization={ACM}
}
@article{sui2014detecting,
title={Detecting memory leaks statically with full-sparse value-flow analysis},
author={Sui, Yulei and Ye, Ding and Xue, Jingling},
journal={IEEE Transactions on Software Engineering},
volume={40},
number={2},
pages={107--122},
year={2014},
publisher={IEEE}
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].