Measuring Software Reuse and Deleting Code (2014)
weblogs.java.net
weblogs.java.net
- By outright lying
- By collusion (e.g., the classic dev / QA agreement where someone makes bugs, someone finds them, and someone quickly fixes them, or by not reporting bugs through the bug system so they remain under the radar)
- Tweaking the code to meet the metric but not the spirit (adding many do-nothing layers to a system to artificially puff up code coverage percentage is a classic)
- Staging checkins (break a check-in into many sub-checkins, to appear more productive in the "check-in count" graph)
Also: Schedule padding (probably since the first construction contract, thousands of years ago), secretly trimming features or leaving them as demoware, renaming bugs as unfinished features (to be completed in "version 1.1"). The list is as old as organized work.
We wrote a blog about it: http://fagblogg.mesan.no/how-bad-is-smelly-code/
Of course more time was spent editing files with more lines of code. In fact, if your entire application was all contained in one file, I am willing to predict that you'd (shockingly) find that all of your time was spent editing that very same file!
It also looks like they aren't get rid of outliers.
There is no indication that outliers have any non-linearity.