Releases: esbmc/esbmc
Releases · esbmc/esbmc
Release v7.0
- Added support for GCC Vectors.
- Added support for the Jimple language.
- Added option to disable slicing on particular symbols, specified by annotation or on the command line (#814).
- New C++ frontend now correctly handles new and delete (#815) and references (#804).
- Fixed initialization of static storage compound literals (#816).
- Various fixes in old and new C++ frontends (#808, #811, #839).
- Various bugfixes in the --goto-contractor option (#836).
Release v6.10
- Lots of bugs related to unions have been fixed.
- Compound Literals are now supported.
- _ExtInt struct fields now have proper padding and alignment.
- A bug where the size of 3-dimensional arrays was not being computed correctly has been solved.
- A new intrinsic for stack allocation has been added: __ESBMC_alloca.
- The Solidity frontend now has support for: bool literal and while.
- The clang-cpp-frontend now has support for: CXXThisExpr and CXXConstructor.
- New options have been added: --file-output, --cex-output, --initialize-nondet-variables, and --non-supported-models-as-zero.
- A new experimental optimization for intervals contraction was added: --goto-contractor. More details about this optimization at: https://arxiv.org/pdf/2012.11245.pdf.
CHERI pre-release
CHERI-enabled pre-release of ESBMC. The below binary is statically linked for x86_64 Linux and contains Z3, Boolector as well as CHERI-Clang v13 (for mips64 and riscv64 support of CHERI programs).
Release v6.9
- Fixed a bug where the bit-vector mode of the SMT solver Z3 was not encoded correctly for signed numbers.
- Improved counterexample line numbering
- Improvements over concurrency checks
- Bug fixes
Release v6.8
- ARM Release!
- Solidity Support!
- Value set analysis
- New message system
- Bounded goto unroll algorithm
Release v6.7
- Memory Model alignment improvements
- Added a new option for compact-trace (--compact-trace)
- Added support for gcc's Cast to Union extension
- Windows Release (Z3 only)
Release v6.6
v6.6
Release v6.5
- Initial C++ clang frontend.
- Added new option for incremental context bound verification.
- Added support for _ExtInt to create custom sized bitvectors.
- Several fixes and improvements to our libc models.
- Fix infinite loop when verifying recursive programs with k-induction.
- Update clang to 11.0.
- Several minor bug fixes.
Release v6.4
- Refactored concurrency to check global writes in arrays.
- Removed python API from ESBMC.
- Updated CVC4 build instructions.
- Fixed pointer arithmetic in the dereference module.
- Added models for cond_broadcast and mutex_destroy.
- Rename test cases that give trouble in Windows.
- Added models for key_create, getspecific, and setspecific.
Release v6.3
Summary:
This release adds preliminary support to track the stack size during the execution of the C programs. In particular, this property checks whether, for a given program, an execution path exceeds a maximum limit for the stack.
New features:
- Stack property verification.
- ESBMC now supports Microsoft extensions.
- -f an -W flags are forwarded into clang.
- Float models refactoring, which enabled macOS CI.
Fixes:
- Fixed issue that caused a dereference violation in VLAs.
- Union bitfields no longer throw a segfault.
- Unary side effects are appropriately handled.
- CVC4 encoding for FPs is fixed.