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

Consider submitting C2PO tests to SV-COMP #1571

Open
michael-schwarz opened this issue Sep 22, 2024 · 3 comments
Open

Consider submitting C2PO tests to SV-COMP #1571

michael-schwarz opened this issue Sep 22, 2024 · 3 comments
Labels
question sv-comp SV-COMP (analyses, results), witnesses
Milestone

Comments

@michael-schwarz
Copy link
Member

michael-schwarz commented Sep 22, 2024

These tests seem to be full of obscure pointer aliasing things. Do we plan to submit these to sv-benchmarks as well? Or is there undefined behavior in some?

It would be very interesting to know how other tools with their approaches cope with these. Or maybe the tests are quite deterministic/small that simple execution/model checking can just decide these?

Originally posted by @sim642 in #1485 (comment)

@sim642
Copy link
Member

sim642 commented Sep 26, 2024

This might not yet be publicly announced, but the deadline for new task submission to SV-COMP 2025 should be October 15, 2024. This can be done before #1485 is merged.
Do you have plans for this or should I allocate some time and do it?

@sim642 sim642 added this to the SV-COMP 2025 milestone Sep 26, 2024
@michael-schwarz
Copy link
Member Author

We don't have any concrete plans to do this. If you can spare the time to do this, it's probably nice-to-have, though I'm not sure if it needs to be top priority to get them into SV-COMP, especially if we don't activate C-2PO yet this year.

For next year, it might be even better to submit the instrumented programs (maybe only those assertions the basic setting without C-2P0 cannot re-establish).

@sim642
Copy link
Member

sim642 commented Sep 27, 2024

I thought it'd be a good way to review the tests at the same time, but already with the first test I realized this would be so much work. It already has so many issues:

  1. Pointer k is uninitialized to get a nondet pointer, but there's no SV-COMP analogue of that (I guess it could also just be malloc though).
  2. Pointer k is dereferenced, so there needs to be an initialized value to be free of UB.
  3. Pointer j is malloced with size sizeof(int)+7 which is weird for an array of int*.
  4. Pointer (j+3) is dereferenced, but it's OOB for sizeof(int)+7.

Basically, getting these to be free of UB (memory safe, everything allocated, everything in bounds, everything initialized), is a lot of work. Without that these cannot go into SV-COMP for their assertions.

@sim642 sim642 modified the milestones: SV-COMP 2025, SV-COMP 2026 Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question sv-comp SV-COMP (analyses, results), witnesses
Projects
None yet
Development

No branches or pull requests

2 participants