Skip to content

Symex slicing: fixes and cleanup #6728

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

Merged
merged 1 commit into from
May 23, 2022

Conversation

tautschnig
Copy link
Collaborator

@tautschnig tautschnig commented Mar 14, 2022

Symex slicing previously failed to track symbols appearing in types.
This commit resolves this "TODO" and replaces the implementation by
find_symbols, which knows how to get this right.

Also make sure we don't unnecessarily track goto guards when the path
condition is made part of the assertion anyway. Employ simple_slice
before doing symbol-based slicing to avoid dragging in unnecessary
dependencies from after the last assertion.

Requires #6727.

  • Each commit message has a non-empty body, explaining why the change was made.
  • n/a Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • n/a The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • n/a White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Symex slicing previously failed to track symbols appearing in types.
This commit resolves this "TODO" and replaces the implementation by
find_symbols, which knows how to get this right.

Also make sure we don't unnecessarily track goto guards when the path
condition is made part of the assertion anyway. Employ simple_slice
before doing symbol-based slicing to avoid dragging in unnecessary
dependencies from after the last assertion.
@tautschnig tautschnig force-pushed the bugfixes/slice-formula branch from 673ce9c to c7be7e5 Compare May 17, 2022 13:42
@tautschnig tautschnig marked this pull request as ready for review May 17, 2022 13:42
@tautschnig tautschnig changed the title Symex slicing: fixes and cleanup [depends-on: #6727] Symex slicing: fixes and cleanup May 17, 2022
@codecov
Copy link

codecov bot commented May 17, 2022

Codecov Report

Merging #6728 (c7be7e5) into develop (5d74a03) will decrease coverage by 0.00%.
The diff coverage is 74.73%.

@@             Coverage Diff             @@
##           develop    #6728      +/-   ##
===========================================
- Coverage    77.78%   77.78%   -0.01%     
===========================================
  Files         1567     1567              
  Lines       179701   179770      +69     
===========================================
+ Hits        139789   139839      +50     
- Misses       39912    39931      +19     
Impacted Files Coverage Δ
src/analyses/interval_analysis.cpp 0.00% <0.00%> (ø)
src/ansi-c/expr2c.cpp 67.63% <ø> (+0.03%) ⬆️
src/goto-instrument/accelerate/accelerate.cpp 32.28% <0.00%> (+0.33%) ⬆️
.../goto-instrument/accelerate/acceleration_utils.cpp 2.23% <0.00%> (+<0.01%) ⬆️
src/goto-instrument/accelerate/trace_automaton.cpp 0.00% <ø> (ø)
src/goto-instrument/wmm/data_dp.cpp 75.71% <ø> (ø)
src/goto-programs/goto_program.h 90.70% <ø> (ø)
src/goto-symex/symex_slice_class.h 100.00% <ø> (ø)
src/jsil/jsil_entry_point.cpp 0.00% <0.00%> (ø)
src/solvers/flattening/arrays.cpp 81.45% <ø> (ø)
... and 46 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8a9ab0c...c7be7e5. Read the comment docs.

@tautschnig tautschnig merged commit 8303a79 into diffblue:develop May 23, 2022
@tautschnig tautschnig deleted the bugfixes/slice-formula branch May 23, 2022 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants