Menu

#77 support dif between two coverage run

open
nobody
5
2012-03-09
2012-03-09
i928
No

Support dif between two coverage run will be useful for users.
For example, program run fine with one set of data, but failed with the second set. It would be nice to have ability to diff to see workflow difference.

Discussion

  • Kaitlin Duck Sherwood

    While I did suggest to someone (who I assume is i928) that he post here, he contacted me on his own, asking about Tripoli (which does differential code coverage, as opposed to incremental code coverage). I had been meaning to ask for a differential code coverage option as well.

    I think incremental code coverage is easier to understand and explain. However, I have been finding that I frequently want differential code coverage instead. One anecdote: I was working on a blog posting about incremental code coverage (due to come out on Monday, BTW) and loaded up the code to jHotdraw, which I had used in a user study a few years back. Using differential code coverage, users were able to isolate {the code specific to adding arrowheads} down to only a very small handful of classes. However, when I tried it with incremental code coverage, there were lots -- about ten times as many. All the code involved in refreshing the canvas showed up. I ended up needing to go find another example.

    I wrote some stupid shell scripts to give me differential code coverage -- I dump the CSV and HTML, diff the CSV to find which HTML files to compare, then diff those -- but it would be much nicer to have in the code.

    To make Tripoli, I modified the EclEmma 1.0 Merge code so that instead of doing an "addition", it did a "subtraction". While I haven't looked at the 2.0 code, I imagine something similar would not be difficult.

     
  • Marc R. Hoffmann

    One possible way to implement this is a improved version of the "Merge" Dialog:

    1) For each session in the list you can decide whether the execution data should be added or subtracted.
    2) A new checkbox determines whether the merged sessions will be removed (currently merged sessions are always removed)

     
MongoDB Logo MongoDB