#118 request CoverageData.diff() method

open
nobody
None
5
2008-08-18
2008-08-18
No

I request a method in CoverageData that returns the difference between two runs instead of a merge between two runs. I'll start this RFE by explaining why, then discuss how, then go into a more extended discussion.

WHY

I've been doing research on programmer productivity, and noted that there are situations when developers have a really hard time finding where the code that implements something happens. For example, in one of the tasks that I observed, developers needed to find where to add code that executed only when a specific pane got resized. They flailed completely.

I modified EMMA and EclEmma so that the developers could do two runs of their code and then "diff" them, so they could see what was different between the two runs. If they did one run where they {created and resized a pane, then quit} and then one run where they {created a pane and then hovered on the corner long enough to get the cursor to change its shape, then quit}, then the diffed coverage report had one and only one method in it -- which was the method that they needed to change.

I implemented this tool by modifying EclEmma and EMMA. I'd like to release this tool to the world, but feel uncomfortable about releasing a modified version of EMMA. I'd much rather my mod were rolled into EMMA.

HOW

I made a few very minor changes in CoverageData.java in emma-2.0.5312 to add a diff() routine that is a very very slight modification of CoverateData.merge(). I've attached my version of the file; stuff I changed is marked with "@@@".

I wasn't completely sure what m_stamp was, but the code I attached does what I need, and shouldn't break any existing code.

EXTENDED DISCUSSION

It would be really nice to be able to colour lines of codes based on whether something was in the first run but not the second, in the second but not the first, in both, or in neither. I didn't see an easy way to do that; if you have any ideas, I'd be quite open to hearing them.

Discussion

  • juangamnik

    juangamnik - 2011-07-01

    I'm searching for such a feature. This issue seems to be sleeping since 2008. Is there any hope to get this with EMMA? I really would appreciate that.

     

Log in to post a comment.