Skip to content
This repository has been archived by the owner on Mar 2, 2023. It is now read-only.

Including time spent on get_model() into solving time #55

Open
ChengyuSong opened this issue Dec 11, 2019 · 6 comments
Open

Including time spent on get_model() into solving time #55

ChengyuSong opened this issue Dec 11, 2019 · 6 comments
Labels
enhancement New feature or request

Comments

@ChengyuSong
Copy link

My own experience: check() is much faster than get_model(). Maybe we need to change the tactics to solve this issue.

@insuyun
Copy link
Contributor

insuyun commented Dec 11, 2019

Nope. Do you have a benchmark or an example for this issue?

@ChengyuSong
Copy link
Author

On LAVA-M, uniq, using fuzzer_input/TODO, when I tried to flip all symbolic branches. If I only do check(), it takes my tool 31s. But if I enable get_model(), it won't finish after 5~6 min.

Maybe you can compare the result of including and excluding the time spent on get_model and see.

@insuyun
Copy link
Contributor

insuyun commented Dec 12, 2019

Sorry, but how can I get concrete inputs without calling get_model()?

@ChengyuSong
Copy link
Author

You cannot, I found this because I thought it should be very fast, but it wasn't. So I tried to figure out where's bottleneck, taint, expression construction, check, get_model, or I/O. It turns out to be get_model(). And I don't have a good solution other than filtering branches :(

@insuyun
Copy link
Contributor

insuyun commented Dec 12, 2019

As you already know, QSYM also filters some branches similar to AFL. Also, I don't have any idea how to solve this. But it is very interesting observation. Let's keep this issue and resolve it if we have a good solution for this. Thank you, Chengyu.

@ChengyuSong
Copy link
Author

Sounds good. I'll read more about Z3 configurations and ask around.

@insuyun insuyun added the enhancement New feature or request label Feb 22, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants