Releases: secure-software-engineering/phasar
Release 10/2025
Dear community,
today we are releasing PhASAR v2510. These are the main changes:
- Add a more lightweight API for using alias information (AliasIterator) and points-to information (PointsToIterator)
- Add examples that show, how to use PhASAR
- Add experimental support for C++20 modules
- Add more code comments and deploy PhASAR's API-reference at GitHub Pages
- Add support for pointer-analysis information from SVF 3.0 (VersionedFlowSensitive, ContextDDA)
- Add default flow-functions to simplify IFDS/IDE-based analyses (noalias, alias-aware, allocation-site-aware)
- Removed many deprecated APIs (see BreakingChanges.md)
- Make PhASAR compile with GCC (tested with g++-11 and g++-13)
- Several bug-fixes
For details, please have a look at the merging PR #797.
For the next release (which will probably be ready in March 2026), we plan to update LLVM to at least v16 and to update the minimum C++ standard from 17 to 20 as breaking changes, as well as more.
Thank you for using PhASAR. We appreciate your feedback, bug reports and contributions.
The PhASAR team
Release 03/25
Dear community,
Today we are releasing PhASAR v2503. These are the main changes:
- Update LLVM version to LLVM-15 (with opaque pointers)
- Integrate the new IterativeIDESolver: A drop-in replacement for IDESolver giving better performance in terms of both runtime and memory
- Add support for SparseIFDS and SparseIDE
- Add conan2 support
- Include PhASAR using cmake's FetchContent
- Various API improvements (LLVMBasedICFG, TypeHierarchy, ...)
- Various bug fixes
For details, please have a look at the merging PR #758.
Thank you for using PhASAR. We appreciate your feedback, bug reports and contributions.
The PhASAR team
Release 03/24
Dear community,
today we are releasing PhASAR v2403. These are the main changes:
- Versioning scheme changed to vYYMM, so that it is monotonically growing
- Several bugfixes in and around analyses
- Introduced a single libphasar that contains everything
- IDESolver is no longer recursive, but uses a worklist algorithm - no more stack overflows ;-)
- New type hierarchy implementation, based on LLVM's debug info
- Introduced Path Tracking (see PathSensitivityManager)
- Various CMake cleanups and fixes
- (De-)serialization of ICFG
For details, please have a look at the merging PR #704.
We refrained from bumping LLVM to >14 this time, but in the next release we will bump to recent LLVM.
Thank you for using PhASAR. We appreciate your feedback, bug reports and contributions.
The PhASAR team
Release 03/23
Dear community,
today we are releasing PhASAR v0323. These are the main changes:
- We reworked the edge function interface, we are no longer relying on shared_ptr.
- We renamed and split up some libraries to fit LLVM dependencies in a better way
- phasar-llvm has been renamed to phasar-cli
- Initial support for SWIFT analysis, more to come.
- Several bugfixes
It is likely that we will enable Conan in the next release as well as increase the LLVM version we depend on. In that course we will need to remove the IFDSFieldSensTaintAnalysis, as it is incompatible with opaque pointers introduced by LLVM 15+.
Thank you for using PhASAR. We appreciate your feedback, bug reports and contributions.
The PhASAR team
Release 12/22
Dear community,
today we are releasing PhASAR v1222. These are the main changes:
- Depend on LLVM 14. We will continue to support recent LLVM, but for LLVM 15 we need to apply some internal changes first.
- Redesigned ICFG and IRDB. This is a breaking change, although it should not be too bad to fix on your side.
- Reduced dependency to boost, due to which the logger was revamped and plugins feature removed.
- Many bugfixes and code quality enhancements.
Thank you for using PhASAR. We appreciate your feedback, bug reports and contributions.
The PhASAR team