phasar
phasar copied to clipboard
A LLVM-based static analysis framework.
Switch to C++20 in the whole phasar codebase and simplify the code by using C++20 features, where appropriate
## Story Many of PhASAR's unittests are extremely brittle and depend on the STL-version, as well on the LLVM version. We should fix this by rewriting our asserts that are...
PhASAR currently relies on `clang-format-14` to format its code. Since we updated our LLVM version to 15, we should also update the formatter
## Story To improve the precision of our analyses, we need to support field-sensitivity in a way that is as generic as possible and applies to all existing PhASAR analyses....
The RTAResolver and CHAResolver give wrong results in some case of multiple inheritance. When virtually calling a function through a receiver of a non-primary base-class (that is not the first...
Adds a collection of smaller changes, including: - Fix `AllBottom::compose`. For more information, see this related issue in Heros (https://github.com/soot-oss/heros/issues/37) - Add API to `LLVMVFTableProvider` to retrieve the `llvm::GlobalVariable` for...
[LastTest.log](https://freebsd.org/~yuri/phasar-2503-LastTest.log) Sample failures: ``` [ RUN ] HexastoreTest.QueryBlankFieldEntries /usr/ports/devel/phasar/work/phasar-2503/unittests/DB/HexastoreTest.cpp:25: Failure Expected equality of these values: Result.size() Which is: 0 1U Which is: 1 [ FAILED ] HexastoreTest.QueryBlankFieldEntries (4 ms) [...
We need to test the phasar build with conan2 in the CI to make sure that we don't accidentally break it. *Requires*: Not build LLVM from source in the CI
The current export of `LLVMBaseedICFG` (via `exportICFGAsJson`) strongly depends on the LLVM IR version and the debug-info extraction capabilities of `LLVMIRToSrc.cpp`. We need some stable export that only depends on...