-
Notifications
You must be signed in to change notification settings - Fork 142
Home
PhASAR is a LLVM-based static analysis framework written in C++. It allows users to specify arbitrary data-flow problems which are then solved in a fully-automated manner on the specified LLVM IR target code. Computing points-to information, call-graph(s), etc. is done by the framework, thus you can focus on what matters.
Moreover than the documentation on PhASAR wiki page, you probably would like to read this README and then have a look on the material provided on https://phasar.org/ as well. Please also have a look on PhASAR's project directory and notice the project directory examples/ as well as the custom tool tools/myphasartool.cpp.
If you already read the documentation on PhASAR's wiki page(s) and went through the examples and still have questions on PhASAR, LLVM, or how to write an analysis, there is a slack channel where you can get help from other PhASARists. Please send a brief email to [email protected] and we will add you to the slack channel.
PhASAR provides a static analysis framework that has been implemented on top of LLVM. PhASAR has been developed with the goal to make static analysis easier, more accessible. Furthermore, it tries to establish a novel platform to evaluate new concepts and ideas in the area of program analysis.
Please use the following bibtex entry to cite PhASAR:
@inproceedings{ tacas19phasar,
author = {Philipp D. Schubert and Ben Hermann and Eric Bodden},
title = {{PhASAR: An Inter-Procedural Static Analysis Framework for C/C++}},
booktitle = {International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS)},
year = {2019},
awarded = {Artifact Evaluation Award},
keywords = {ITSECWEBSITE},
note = {To appear.}
}
A preprint of the paper can be found here: Useful Literature.
- Home
- Reference Material
- Getting Started:
- Building PhASAR
- Using PhASAR with Docker
- A few uses of PhASAR
- Coding Conventions
- Contributing to PhASAR
- Errors and bug reporting
- Update to Newer LLVM Versions
- OS Support