This project implements the famous flow-insensitive points-to analysis algorithm, namely Anderson algorithm, on the LLVM compiler platform.
Notes: This is a toy project. It's not well tested and corner cases are poorly considered. Use it at your own risk!
Please ensure you have LLVM installed before build. The recommended LLVM version is LLVM 10.0.0, but other LLVM versions might work as well (not tested).
If you are using Ubuntu, execute the following command to install required components before build:
sudo apt install build-essential cmake llvm-dev
If you want to build doxygen documentation, you need to install doxygen
as well:
sudo apt install doxygen
Clone the repository and switch into source tree root:
git clone https://github.com/Lancern/p2a.git
cd p2a
Create a build directory:
mkdir build
cd build
Then you can build p2a
by the familiar two-step build:
cmake ..
cmake --build .
In order to build doxygen documents, just add the --target
switch when
invoking cmake --build .
in the last step of build:
cmake --build . --target doxygen
The doxygen output directory is docs/doxygen
.
This project is open-sourced under the MIT license.