Skip to content

Releases: hernanponcedeleon/Dat3M

Dat3M 4.1.0 is out!

24 May 09:21
065ff19
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

Dat3M 2.0.6 is out!

27 Feb 08:03
Compare
Choose a tag to compare

Dartagnan can now verify program written in C.
It uses SMACK (needs to be installed independently) as a backend to convert C programs to Boogie and it then performs the verification on the Boogie representation of the program.
We also improved the IR of programs to support more kind of expressions (including input non-determinism) and implemented loop unrolling of goto instructions.

Dat3M 2.0.3 is out!

18 Apr 09:30
7d9daf3
Compare
Choose a tag to compare

The main new feature of this release is the user interface that allows to simulate memory models in just a few clicks instead of running the tools from the console.