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

Experiment with path- and context-sensitivity for memLeak analysis #1234

Merged
merged 4 commits into from
Nov 9, 2023

Conversation

michael-schwarz
Copy link
Member

@michael-schwarz michael-schwarz commented Nov 3, 2023

I'll use this issue to document some of the steps towards coming up with a good config for sv-comp.

Machine Config
parallel runs:           40
resource limits:
- memory:                3000.0 MB
- time:                  1800 s
- cpu cores:             1
hardware requirements:
- cpu cores:             1
- memory:                3000.0 MB
------------------------------------------------------------

   SYSTEM INFORMATION
host:                    goblint2
os:                      Linux-5.15.0-84-generic-x86_64-with-glibc2.29
cpu:                     Intel Xeon Platinum 8260 CPU @ 2.40GHz
- cores:                 96
- max frequency:         3900.0 MHz
- turbo boost enabled:   True
ram:                     540649.373696 MB
------------------------------------------------------------

Results without any additional path- & context-sensitivity:

Statistics:           3862 Files
  correct:            1082
    correct true:     1082
    correct false:       0
  incorrect:             0
    incorrect true:      0
    incorrect false:     0
  unknown:            2780
  Score:              2164 (max: 5857)

Results with full path- & context-sensitivity:

Statistics:           3862 Files
correct:            1104
  correct true:     1104
  correct false:       0
incorrect:             0
  incorrect true:      0
  incorrect false:     0
unknown:            2758
Score:              2208 (max: 5857)

Results with full path- & context-sensitivity & unique count of 5:

Statistics:           3862 Files
correct:            1131
  correct true:     1131
  correct false:       0
incorrect:             0
  incorrect true:      0
  incorrect false:     0
unknown:            2731
Score:              2262 (max: 5857)

Results with full path- & context-sensitivity & unique count of 5 & fix for #1235 :

Statistics:           3862 Files
  correct:            1158
    correct true:     1158
    correct false:       0
  incorrect:             0
    incorrect true:      0
    incorrect false:     0
  unknown:            2704
  Score:              2316 (max: 5857)

@michael-schwarz michael-schwarz added this to the SV-COMP 2024 milestone Nov 3, 2023
@michael-schwarz
Copy link
Member Author

When being fully path- & context-sensitive, we succeed on 22 additional tasks.

results.2023-11-03_13-56-44.table.zip

@michael-schwarz michael-schwarz added sv-comp SV-COMP (analyses, results), witnesses precision labels Nov 3, 2023
@michael-schwarz
Copy link
Member Author

We get strictly better with each of these config options, so it seems clear we would want them.

results.2023-11-06_10-15-02.zip

@michael-schwarz michael-schwarz marked this pull request as ready for review November 8, 2023 07:19
@michael-schwarz
Copy link
Member Author

To facilitate development and get accurate pre-runs, I'd propose merging this now, so we don't have multiple PRs floating around.

@michael-schwarz
Copy link
Member Author

Quick question @sim642: I saw you specify svcomp24.json in the artifact. Is this a symlink to svcomp.json for now, or do I need to make these changes also in some other places?

@sim642
Copy link
Member

sim642 commented Nov 8, 2023

Quick question @sim642: I saw you specify svcomp24.json in the artifact. Is this a symlink to svcomp.json for now, or do I need to make these changes also in some other places?

It's a config I copied and adapted on the svcomp24-dev branch before some of the PRs were merged.

This PR doesn't even change svcomp.json, so it shouldn't matter. Or should the path-sensitivity not be default but only in SV-COMP conf?

@michael-schwarz
Copy link
Member Author

Ok, thanks! Are you merging master back into svcomp24-dev regularly then?

Or should the path-sensitivity not be default but only in SV-COMP conf?

No, I think it makes sense to have it path-sensitive by default.

@michael-schwarz michael-schwarz merged commit 03e17b6 into master Nov 9, 2023
14 of 16 checks passed
@michael-schwarz michael-schwarz deleted the path_sens_memleak branch November 9, 2023 10:21
sim642 added a commit to sim642/opam-repository that referenced this pull request Nov 24, 2023
nberth pushed a commit to nberth/opam-repository that referenced this pull request Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
precision sv-comp SV-COMP (analyses, results), witnesses
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable a path-sensitive memory leak analysis in autoTune for small programs
2 participants