Filtering options for coverage analysis

66 views
Skip to first unread message

fabienr...@gmail.com

unread,
Oct 18, 2015, 5:13:36 PM10/18/15
to JaCoCo and EclEmma Users
Follow up on issue #15: https://github.com/jacoco/jacoco/issues/15

Summary: devs want to exclude from the final report untestable branches or bytecode generated by javac for enums and similar.
https://github.com/jacoco/jacoco/wiki/FilteringOptions

Personally, if I could just get rid of the assert ones that would be a huge progress. I waste a lot of time opening files that are not 100% covered just because of the many asserts the file has...

Questions:
- this a 3 years old topic. what's blocking the jacoco team to provide this feature as a post-processing option (turned off by default)?
- what's the estimated difficulty for providing this feature for at least one of the many filters listed on the wiki?
- if someone were to submit pull requests for such feature, would those requests be integrated or is this something that is just unwanted, period?

Marc R. Hoffmann

unread,
Oct 19, 2015, 1:23:32 PM10/19/15
to jac...@googlegroups.com
Hi,

- this a 3 years old topic. what's blocking the jacoco team to provide this feature as a post-processing option (turned off by default)?

Simply set: time and resources

- what's the estimated difficulty for providing this feature for at least one of the many filters listed on the wiki?

We consider this as a quite complex feature for a couple of reasons in
decending order:

1) Pattern matching on graphs (bytecode execution flow)
2) Integration test setup (need to generate examples on different
Java compiler vendors and versions)
3) Clean (even internal) APIs to keep each filter a seperate aspect,
otherwise compexity in analysis will explode

- if someone were to submit pull requests for such feature, would those requests be integrated or is this something that is just unwanted, period?

Not unwanted at all! From my point of view But the complexity is too
high to just merge a pull request. We would need somebody on board to
properly design, implement and support the feature in the long run.
Fortunatelly a very skilled friend of mine with a background in bytecode
analysis just recently offered support. Maybe he can push this topic.

In case you're interested to dive into the topic some work has been done
before:

Descriptions of filters:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
Some prototyping and tests for filters:
https://github.com/marchof/jacoco-playground-filters
Test case generator:
https://github.com/mfriedenhagen/org.jacoco.filteringsamples

Regards,
-marc
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages