Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDRUP Support #769

Merged
merged 2 commits into from
Aug 29, 2024
Merged

IDRUP Support #769

merged 2 commits into from
Aug 29, 2024

Conversation

m-fleury
Copy link
Contributor

Sorry that it took me way too long to find the time to work on that…

Anyway, this is the rebased and squashed version of #744

This commit adds support for the IDRUP proof format with the following
caveats:
  - IDRUP currently does not support XOR reasoning
  - we have to extend the IPASIR interface slightly to pass the file
  name to the solver
@m-fleury m-fleury mentioned this pull request Aug 28, 2024
@msoos
Copy link
Owner

msoos commented Aug 29, 2024

Wow, nice, thank you so so much! I'll review and merge today night :)

Mate

@msoos msoos merged commit 78c852e into msoos:master Aug 29, 2024
1 check passed
@msoos
Copy link
Owner

msoos commented Aug 29, 2024

Wow, thank you so much!!

@msoos
Copy link
Owner

msoos commented Jan 20, 2025

Hey hey!

It' s me from the future with some feedback :) Unfortunately, idrup wasn't initialized in the header, but was set as default value : .default_value(conf.idrup) so unless --idrup was given, it was set to some unknown value. Also, it seems to have assumed that idrup is always on, due to calling conclude_idrup always I think? So it seemed to have lead to segfault when it wasn't on I think :S Unfortunately, since there is no fuzz_test.py changeset to check whether it's correct, I'm not sure it runs/continues to run given my changes over the months :( Maybe I'll write a fuzzer for it. If I don't, I'm afraid it will be broken soon :(

Anyway, now at least FRAT is working in my development version :) I hope the above helps! Cheers and thanks again, idrup is actually really cool as an idea, it just takes time to get it into shape,

Mate

@m-fleury
Copy link
Contributor Author

Do you want me to try to fix it or do you just want to revert the changes?

@msoos
Copy link
Owner

msoos commented Jan 21, 2025

I already fixed it of course. Cheers,

Mate

@msoos
Copy link
Owner

msoos commented Jan 21, 2025

Oh, if you feel like writing a fuzzer for it, that'd be nice! Did you write a fuzzer as part of the paper? In my experience, without a fuzzer, it breaks very easily and hence not really useful in the long term. Is there a fuzzer for it?

Mate

@m-fleury
Copy link
Contributor Author

In my experience, without a fuzzer, it breaks very easily and hence not really useful in the long term.

Also my experience.

There is a fuzzer with the checker: https://github.com/arminbiere/idrup-check (the changes to make Cryptominisat are not public). It is how I tested the code actually. Then I wil try to understand the fuzz_test.py.

@msoos
Copy link
Owner

msoos commented Jan 21, 2025

Ahh I see! I mean, I'd be grateful if you integrated that into fuzz_test.py, but I understand that it's a lot of work. Up to you :)

Mate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants