Skip to content

Use model for String.hashCode #4546

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

Conversation

romainbrenguier
Copy link
Contributor

The version in the solver is incomplete (under-constrained) and it is not possible to have a complete version which would be really language independent, so it is better to implement these in models, like we do in diffblue/java-models-library#10 for Java

  • 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).
  • [na] My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • [na] White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 56e097e).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/108816446
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@romainbrenguier romainbrenguier force-pushed the feature/string-hash-code branch from 56e097e to b6c30ba Compare April 18, 2019 13:52
@romainbrenguier romainbrenguier added the Needs TG approval 🦉 Only merge with explicit approval from test-gen maintainers label Apr 18, 2019
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: b6c30ba).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/108857635
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@peterschrammel peterschrammel removed their assignment Apr 24, 2019
@romainbrenguier romainbrenguier force-pushed the feature/string-hash-code branch from b6c30ba to 84eb53d Compare April 29, 2019 07:32
@romainbrenguier romainbrenguier removed the Needs TG approval 🦉 Only merge with explicit approval from test-gen maintainers label Apr 29, 2019
@romainbrenguier romainbrenguier force-pushed the feature/string-hash-code branch from 84eb53d to 2143136 Compare April 30, 2019 05:33
@tautschnig
Copy link
Collaborator

@romainbrenguier What's the state of this?

@romainbrenguier
Copy link
Contributor Author

@tautschnig

@romainbrenguier What's the state of this?

I'm waiting on a test-gen pull request to confirm this is safe to merge, but it doesn't compile with the current version of cbmc at the moment.

@romainbrenguier romainbrenguier added the Needs TG approval 🦉 Only merge with explicit approval from test-gen maintainers label May 3, 2019
@romainbrenguier romainbrenguier force-pushed the feature/string-hash-code branch from 2143136 to 7353640 Compare May 13, 2019 08:13
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

✔️
Passed Diffblue compatibility checks (cbmc commit: 7353640).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/111548598

@romainbrenguier romainbrenguier removed Needs TG approval 🦉 Only merge with explicit approval from test-gen maintainers Needs rebase labels May 13, 2019
The model will become necessary as we remove the preprocessing for
hashCode and replace it with a model.
The internal version is only an over approximation of the behaviour.
It's better to use the version from the models.
This can no longer be produced by the preprocessing, so it is not needed
in the constraint generation.
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 18d1a00).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/111562482
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@romainbrenguier romainbrenguier merged commit bb5c885 into diffblue:develop May 13, 2019
@romainbrenguier romainbrenguier deleted the feature/string-hash-code branch May 13, 2019 12:18
allredj pushed a commit to allredj/cbmc that referenced this pull request May 13, 2019
allredj pushed a commit to allredj/cbmc that referenced this pull request May 13, 2019
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.

5 participants