-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
26 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
layout: post | ||
title: "Release 0.9.0 of BINSEC is out" | ||
categories: releases binsec | ||
date: 2024-05-01 | ||
github: https://github.com/binsec/binsec/releases/tag/0.9.0 | ||
keywords: Incremental solving, IR-level sub-expression elimination | ||
--- | ||
|
||
*Work less, work better*. Experiments tend to show it is a good way to increase the productivity. | ||
So, no shiny new feature today, but we shipped some improvements that may speed up the symbolic exploration! | ||
|
||
On the agenda: | ||
- take advantage of the incremental solving mode (`-sse-engine multi-checks`); | ||
- welcome the IR-level sub-expression elimination pass (`-sse-cse`). | ||
|
||
Overall, symbolic exploration spends most of its time in constraint solving. | ||
Besides, **BINSEC** used to open a new solver session for each issued query. | ||
But, let us now give a try to the incremental mode of SMT solvers. Within the `multi-checks` engine variant, **BINSEC** compares each new query with the previous one. If the latter is a parent of the former -- which often happens with the depth first search strategy -- **BINSEC** holds the session, both saving the setup time and thriving the prior solver knowledge. | ||
|
||
Less usual, but when the emulation speed becomes the exploration bottleneck (e.g. *France CyberSecurity Challenge* [licorne](https://github.com/binsec/binsec/blob/master/doc/sse/fcsc_licorne.md#bonus)), you can now activate the common sub-expression elimination pass to optimize the **BINSEC** intermediate representation and, hence, reduce the number of processed micro-instructions. | ||
|
||
Also, as a side announcement, we opened the [Discussions](https://github.com/binsec/binsec/discussions) section in the [GitHub](https://github.com/binsec/binsec) repository. Feel free to come and get help on how to use **BINSEC**. | ||
|
||
Have a nice day :-) |