Skip to content

Releases: hernanponcedeleon/Dat3M

Dat3M 4.3.1 is out!

18 Jan 18:44

Choose a tag to compare

What’s New

  • Support for unary predicates in .cat
  • Support for the memtrack property of SVCOMP
  • Support for more SPIRV instructions
  • Allow functions other than main as the entry point

What's Changed

New Contributors

Full Changelog: 4.3.0...4.3.1

Dat3M 4.3.0 is out!

26 Jul 19:58
0946efb

Choose a tag to compare

What’s New

  • Added support for mixed size accesses (currently only used for aarch64)
  • Added support for non-termination in the presence of side-effects
  • Better support for SPIR-V (including its OpenCL flavor)
  • Added support for hierarchical forward progress models
  • Detection of undefined / external functions being called
  • Added support for clang / llvm 19
  • Better support for LKMM intrinsics in C code

What's Changed

Read more

Dat3M 4.2.0 is out!

16 Nov 06:03
4fc81b1

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.1.0...4.2.0

Dat3M 4.1.0 is out!

24 May 09:21
065ff19

Choose a tag to compare

What's Changed

Full Changelog: 4.0.1...4.1.0

Dat3M 4.0.1 is out!

21 Apr 18:40
e14e2ef

Choose a tag to compare

This release does not contain major new features. It is mostly code refactoring, bug fixing and improving usability of the tool.

Dat3M 4.0.0 is out!

02 Jan 10:09
024bd43

Choose a tag to compare

These are the main changes of this version:

  • More precise support of the C language (function pointers, dynamic memory allocation, dynamic thread creation, and recursion)
  • Support llvm files as input
  • Remove boogie as supported input format
  • Remove dependencies on smack and atomic-replace pass
  • Implement static analysis of memory models, as described in the OOSPLA’23 paper
  • Support for PTX (v6.0 and v7.5) and vulkan memory models
  • Several changes related to SVCOMP 2024 participation
  • Support for many intrinsics (pthread, llvm, UBSAN)
  • Update JavaSMT to version 4.1.0
  • Fix unsoundness of symmetry learning
  • Optimize memory consumption for RA sets
  • Bound refining (CAAT)
  • Update LKMM to latest version
  • Support SRCU for LKMM
  • Allow to update relations in cat
  • Improve user output (lines of code and call stack related to violations / witnesses)
  • Add coverage report
  • Make semantics of pthread events closer to reality
  • Force addresses to be even (as in reality)
  • Fix / improve liveness encoding
  • Improve performance of alias analysis
  • Improve / fix compilation schemes
  • Replace constant propagation by sparse conditional constant propagation
  • Improve most program transformation passes
  • Fix refinement cutting
  • Add support for ARM-based MacOS
  • Move to java 17
  • Several refactors / bug fixing

Dat3M 3.1.1 is out!

21 Nov 13:42
c9a743b

Choose a tag to compare

This release contains our submission for SVCOMP 2023.

It mostly contains changes related to code refactoring and bug fixing for SVCOMP.

Dat3M 3.1.0 is out!

04 Sep 19:45

Choose a tag to compare

These are the main changes of this version:

  • Implements the theory solver for CAAT (Consistency as a Theory) as described in the OOSPLA’22 paper
  • Adds support for checking liveness
  • Adds support to RC11, IMM and RISCV memory models
  • Updates the support to the latests version of LKMM (including data races)
  • Implements the compilation schemes from LKMM to hardware models
  • Adds macro __VERIFIER_loop_bound to use different unrolling bounds for specific loops
  • Adds option encoding.wmm.idl2sat to encode acyclicity constraint using SAT instead of IDL
  • Adds option witness.graphviz to generate violation graphs
  • Updates JavaSMT version to 3.13.3
  • Several bug fixing and performance improvements

Dat3M 3.0.0 is out!

26 Nov 11:51

Choose a tag to compare

This new major version contains several improvements:

  • Support for several SMT solvers based on JavaSMT
  • Several performance improvements
  • New docker container for easy use
  • Extended compilation scheme for more instructions and architectures
  • Support for validation of violation witnesses
  • Drop support for IDL and KLEENE encodings
  • Drop support for Porthos
  • Bug fixing

This is the version participating in SVCOMP 2022.

Dat3M 2.0.7 is out!

05 Dec 13:40

Choose a tag to compare

This is the version participating in SVCOMP 2021. The main new features are listed below.

  • Support for bit-vectors
  • Improved (machine readable) witness generation
  • Checking different properties: currently reachability and no-data-race