Skip to content

Porting of the function pointer restriction feature to variable sensitivity domain branch. #5309

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

Conversation

NlightNFotis
Copy link
Contributor

  • Each commit message has a non-empty body, explaining why the change was made.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • 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.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thk123 doesn't want this to go into VSD directly

@hannes-steffenhagen-diffblue hannes-steffenhagen-diffblue changed the base branch from variable-sensitivity-domain to variable-sensitivity-with-get-function-pointers April 22, 2020 14:16
@hannes-steffenhagen-diffblue
Copy link
Contributor

Commits from

#5265
#5257
#5262

Copy link
Contributor

@thk123 thk123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review: checked aed9c79 "Introduce get_goto_model from a C program for uses in unit tests is ported correctly (#5265)

unit/Makefile Outdated
@@ -23,6 +23,8 @@ SRC += analyses/ai/ai.cpp \
analyses/variable-sensitivity/last_written_location.cpp \
big-int/big-int.cpp \
compound_block_locations.cpp \
get_goto_model_from_c_test.cpp \
goto-instrument/cover_instrument.cpp \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting this line is different from original commit

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 in fact - this shouldn't be here, the line is included two lines down

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good spot, fixed

danpoe and others added 13 commits April 23, 2020 13:44
The function takes a C program (as a string or an input stream) and converts it
to a goto model.
This adds a new option, --restrict-function-pointer, to goto-instrument. This
lets a user specify a list of possible pointer targets for specific function
pointer call sites, rather than have remove_function_pointers guess possible
values. The intended purpose behind this is to prevent excessive symex time
wasted on exploring paths the user knows the program can never actually take.
Update to reflect that the feature is now a goto-instrument analysis
This works similar to restrict-function-pointer, but for names of individual
function pointer variables (globals, locals, parameters) rather than call sites.
This isn't applicable to all situations (for example, calling function pointers
in structs or function pointers returned from functions), but is more readily
applicable to some common use scenarios (e.g. global function pointers loaded at
start time like in OpenGL).
@NlightNFotis NlightNFotis force-pushed the feature/vsd-port-of-restrict-function-pointer branch from 33d9898 to 45d171f Compare April 23, 2020 12:45
Copy link
Contributor

@thk123 thk123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified all the commits have been ported over identically to how they were merged into develop

@NlightNFotis NlightNFotis merged commit 0d9c35f into diffblue:variable-sensitivity-with-get-function-pointers Apr 24, 2020
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.

4 participants