3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 07:45:46 +00:00
Commit graph

23 commits

Author SHA1 Message Date
Nikolaj Bjorner
cf6486f990 bug in flatten/and/or introduced when skipping sub-expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-22 07:43:37 -08:00
Nikolaj Bjorner
f01d096fb5 fix again 2021-12-20 09:51:15 -08:00
Nikolaj Bjorner
83b47f1859 fix #5726 2021-12-20 09:21:40 -08:00
Nikolaj Bjorner
a099972354 fix #5714
It is not unlike other fuzz bugs: it exercises some behavior that applications are unlikely to expose. In this case, a rule body expanded into a conjunction with more than 1M formulas (with a lot of repetition). The original rule representation assumed silently that the number of constraints in a body would fit within 20 bits, but reality allowed bodies with as many as 2^{32} - 1 constraints.
So "minimizing" the bug as @agurfinkel asks for seems not to make too much sense.

Just running the samples in debug mode  points to the root cause.

Since fuzz bugs are not from applications and fuzz tools have the potential for creating a large number of issues, I find it reasonable to push some basic pro-active asks on filers:

- reproduce bug in debug builds to assess whether a debug assert triggers.
- minimize or keep it simpler when possible (in this case it does not apply)
- perform basic diagnostics/triage. I am basically asking to push this part of the work on to the fuzzer. Otherwise, addressing random bugs doesn't scale. Triaging should have pointed to the root cause.

Now, there tends to be something to learn from bugs. In this case, the question was: "can we avoid constraints with duplications"? In particular, it points to a basic inefficiency of extracting conjunctions (and disjunctions). The function didn't deduplicate. So I added deduplication into this function. It is used throughout z3 code base so could expose latent issues. We will see.
2021-12-16 10:20:53 -08:00
Nikolaj Bjorner
6f31d83633 fix #5541 2021-09-20 10:10:28 -07:00
Nikolaj Bjorner
4a6083836a call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
Nuno Lopes
799de71a9f
limit recursion depth of push_not() to 8 (#4917) 2020-12-28 19:55:43 -08:00
Nikolaj Bjorner
decd69ac73 move to util
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-26 21:22:14 -07:00
Nikolaj Bjorner
b4ba44ce9d remove unused candidate function
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-13 16:35:10 -07:00
Nikolaj Bjorner
f0c013843f operator+
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-13 16:30:47 -07:00
Nikolaj Bjorner
1123b47fb7 bapa
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-13 16:15:38 -07:00
Nikolaj Bjorner
026265f9a3 fix memory leak in proof production in theory_pb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 08:55:26 -07:00
Arie Gurfinkel
dda65fdd2e mk_not: fix clang compilation issue 2018-06-14 16:08:52 -07:00
Nikolaj Bjorner
e6468726f5 more code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
7931bd1dfc updates to mbqi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
f175f864ec merge useful utilities from qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Nikolaj Bjorner
c8f09fa955 fix for unsound results reported in #313
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-16 22:59:07 -08:00
Nikolaj Bjorner
bf5419d44a move functionality from qe_util to ast_util
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-23 14:33:45 +02:00
Christoph M. Wintersteiger
fec815b41e Various variable renamings to avoid conflicts with previously defined local variables, function parameters, or members (Visual Studio 2015 warnings). 2015-05-29 18:13:39 +01:00
Leonardo de Moura
f238720b76 Cherry-pick goodies from mcsat branch
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-06-27 09:19:23 -07:00
Leonardo de Moura
8a6997960a Reorganizing code. Added script for generating VS project files
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 15:16:37 -07:00
Renamed from lib/ast_util.cpp (Browse further)