Changelog

v0.7.0 - 2022-11-02

Compare to v0.6.0.

Added

  • Add limited support for LLVM 15 and nightly (16).

  • Add support for fadd, fsub, fmin, fmax atomic operations to the FactGenerator and Datalog.

Changed

  • Changed look and feel of the documentation.

  • Refactorings and small improvements to the FactGenerator.

  • The FactGenerator fails more aggressively on malformed LLVM modules.

Removed

  • Removed C pre-processor directives concerning LLVM versions less than 10. This may cause failures to build against very old versions of LLVM that were never officially supported.

v0.6.0 - 2022-10-27

Compare to v0.5.0.

Changed

  • cclyzer++ now builds against LLVM 14. See Building for how to build against other versions of LLVM.

  • Considerable documentation improvements.

  • The Docker images now use Ubuntu 22.04.

  • Release artifacts are now built with optimizations.

Removed

  • Removed handling of function attributes in Datalog and FactGenerator code.

v0.5.0 - 2022-10-21

Compare to v0.4.0.

Changed

  • cclyzer++ now builds against (and requires) LLVM 11. It can still be built from source against LLVM 10, but the Debian package and Docker images all use LLVM 11 (see also #98).

Fixed

  • The Debian package now correctly lists its dependencies

v0.4.0 - 2022-10-21

Compare to v0.3.

Changed

  • Improved type-safety in the Datalog code.

  • Several relations were renamed for the sake of consistency between the FactGenerator and the analysis code (Datalog).

Removed

  • Removed the unused subset-and-unification build target.

  • Removed the instantiations of the ThrowInstruction component in both analyses.

  • Removed a few extraneous relations.

v0.3 - 2022-10-12

Compare to v0.2.

Added

  • Added infrastructure for packaging for Debian with CMake and FPM.

  • Added a new script that helps developers track down regressions, see scripts/run.py.

Changed

  • Many relations were renamed for the sake of consistency between the FactGenerator and the analysis code (Datalog).

  • The repo was reorganized a bit, several files moved out of the top-level directory.

  • Tests were reorganized and cleaned up.

Fixed

  • Fixed bug that led to incorrect callgraphs in the presence of indirect calls (#69).

v0.2 - 2022-10-07

Compare to v0.1.

Added

  • Aspirational developer documentation on naming conventions.

  • Linting with Mypy in CI.

Changed

  • Many relations were renamed for the sake of consistency between the FactGenerator and the analysis code (Datalog).

  • Removed superfluous use of records in instruction schemata.

Removed

  • FactGenerator no longer processes debug information.

Known Issues

  • May generate incorrect callgraphs in the presence of indirect calls, see #69. Fixed in v0.3.

v0.1 - 2022-10-04

First release!

Known Issues

  • May generate incorrect callgraphs in the presence of indirect calls, see #69. Fixed in v0.3.