News for hackers. Stuff that matters.
Re:The top bug predictor is not technical, it's organization... by the_af on Wednesday December 18, 2019 @08:05AM (#21824389)
You can be skeptical, but this has been tested empirically. Defect density per lines is relatively constant (this is a well-known empirical result, which you can also google), which means more lines predict more bugs. When researchers contrasted line count vs bad modularization, line count was the better predictor (precision & recall).

Maybe it's anti-intuitive, but it's what reality shows :)

Re:The top bug predictor is not technical, it's organization... by vanderZwan on Wednesday December 18, 2019 @08:50AM (#21824743)
Maybe it's something as banal as there being a high enough chance of mistakes per LOC that this factor ends up dominating the other factors.
Re:The top bug predictor is not technical, it's organization... by the_af on Wednesday December 18, 2019 @08:58AM (#21824830)
Maybe. The key takeaway of this for me is: if you want to introduce a bug-predicting metric, you must do better than simple LOC count. If you can't do better, then ditch your metric :)
Re:The top bug predictor is not technical, it's organization... by MontyCarloHall on Wednesday December 18, 2019 @09:06AM (#21824904)
>if you want to introduce a bug-predicting metric, you must do better than simple LOC count

Agreed. As I pointed out in another post[0], a good candidate for this metric is the amount of unnecessary code, which is often a proxy for unnecessarily large/complex teams.

[0] https://news.ycombinator.com/item?id=21824110

Re:The top bug predictor is not technical, it's organization... by lallysingh on Wednesday December 18, 2019 @10:08AM (#21825557)
There's also just reading/remembering costs per LOC that make it harder to track specifics about APIs and your own code.

Smaller code fits in your head better, and stays more predictable. You don't have as many weird if-conditions to remember.

Re:The top bug predictor is not technical, it's organization... by iainmerrick on Wednesday December 18, 2019 @01:01PM (#21827454)
You don't have as many weird if-conditions to remember.

More LOC doesn’t necessarily mean more if-conditions, though! For code written in different styles.

It’s a strong statement that LOC and LOC alone is the best known predictor of bug rate, but that seems to be what several people in this thread are saying.

For example, I think most people (though not all) would agree that very dense code full of tricky one-liners (think Perl Golf) is more likely to be buggy and hard to maintain. But if so, “number of control structures used” or some such ought to be a better metric than plain LOC (I assume we’re using “LOC” literally here, not as a shorthand for something else).

Maybe there’s some second-order effect going on? Like very dense code discouraging modifications, so it gets less maintenance, and therefore accrues fewer bugs over time?

This is an interesting topic! Any research links appreciated.

Re:The top bug predictor is not technical, it's organization... by iainmerrick on Wednesday December 18, 2019 @12:52PM (#21827364)
You can be skeptical, but this has been tested empirically.

Yeah, I wasn’t claiming to be right, more noting my reaction! I’ll look up the research -- any links appreciated.