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

Use code coverage as a "utility value" for PropEr (quickcheck) to maximize #159

Open
fenollp opened this issue Apr 26, 2018 · 1 comment

Comments

@fenollp
Copy link
Contributor

fenollp commented Apr 26, 2018

I just ran some properties hard to reach code branches and demonstrated that targeted PBT when informed about coverage gives better results than when not informed!
Have a look at this simple sample code. Here is how it ran

I'm opening this issue to discuss how coverage-targeted PBT can be added to PropEr.

  • should a macro such as ?MAXIMIZE_COVERAGE() be introduced to targeted ?FORALLs?
  • should cover usage be explicit or should tools such as rebar3 do their own handling of modules to recompile?
  • on a scale from YES to OMG, how amazing is this? (I'm excited)

Targeted PBT is an amazing idea. @TheGeorge (Andreas Löscher) & @kostis you guys have done a great job! Please continue!
Do you intend to add other search strategies such as using genetic algorithms or linear regression (as mentioned in your ISSTA’17 paper)?

Note: not a duplicate of #113

@fenollp
Copy link
Contributor Author

fenollp commented Apr 26, 2018

How BTW the tutorial page on TPBT is not using the latest API. I had to look through the ?EXISTS tests module to understand the API. Please tell me if my property can be better stated :)

I'd like to be explicit in the strategies used in my property, how can I do that?
I would like to try on the hill_climbing strategy too.

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

No branches or pull requests

1 participant