Skip to content
Philipp Schubert edited this page Feb 8, 2019 · 17 revisions

Welcome to the PhASAR wiki!

What is PhASAR?

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.

How do I get started with PhASAR ?

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.

How can I get help?

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.

Purpose of this tool

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.

How to cite PhASAR?

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

Clone this wiki locally