v1.3.0
Major update on the testing features:
- Support for template-based program generation
- Support for template macros
- Support for multi-mode test cases (kernel mode, user mode, VM mode, and transitions between them)
- Support for actors: Isolated parts of test case that have their own code and data, and that can interact with each other
- Added architectural fuzzing mode for detecting mismatches between the model and the executor
- Added TSC (time stamp counter) measurement mode
- Rewritten analyzer to support multiple analysis modes. Changed default analyzer to a statistics (chi2)-based one
- Added an option to track instruction coverage
- Added value speculation contracts
- Added a non-interference model for testing information flows between actors
Wider support for x86-64 ISA:
- Support for 128-bit SIMD (SSE 1-4)
- Correct handling of IDIV
- Intel MPX exceptions
Stability features:
- Synchronized seeds for both program and input generators
- Multi-pass testing of detected violations to gradually remove various known types of False Positives
- Many improvements to the logging infrastructure
- Pass-based re-implementation of minimizer
- Graceful propagation of errors from executor up to the user interface
- Implemented full fault sandbox for catching bugs in executor without causing crashes
- State machine-based monitoring of incomplete measurements in executor
And also a bit more documentation on cli, config, and minimization.