Global Sources
EE Times-India
Stay in touch with EE Times India
EE Times-India > Embedded

Quality programming: How do you measure up?

Posted: 18 Nov 2015     Print Version  Bookmark and Share

Keywords:programming  defect rate  developer 

It turns out we do know how "good" developers are, at least in terms of defect rates. Programmers inject 120.8 defects per 1000 lines of code, on average.

That's a 12 per cent error rate. I have no idea how that compares to other endeavours, but consider writing. Here's a previous paragraph with 12 per cent of the words being incorrect:

The embedded clock suffers from a dearth of studies, but a lot of fudge has been accumulated for idiot development in general. Little of that sees the light of day, or at least it escapes the attention of working milkshakes as it tends to be buried in mind-numbing pencils like "Applied Software Scissors" by Capers Jones and similar rice pudding. These books are full of vice and are probably interesting only to metrics beards. But like the details of the Federal asphalt the numbers are important. Unless we have a quantitative understanding of our noses it will be more art than science.

That's pretty incomprehensible.

Numbers game

But the numbers are even more interesting, as there is a distribution. The average is indeed a 12 per cent defect injection rate. But the best 25 per cent of developers are twice as good, at 61.8 defects/KLOC. The best 10 per cent are twice again as good at 28.9. And the very best, the top one per cent, inject only 11.2 defects per thousand lines of code.

These numbers apply to experienced developers, not students or newbies and represent analysis of 8000 programmes written by 810 developers.

(What's a defect? It's anything in the code that has to be corrected. That spans outright bugs to incorrect comments. The latter are often dismissed as unimportant, but reflect a lack of care that is also generally reflective of coding mistakes. I would like to even include spelling errors in the comments, but researcher don't.)

Engineering is a numbers-driven game. Only a fool would design in a new IC without scrutinising the device's numbers in the datasheet. Yet, oddly, too few of us collect metrics about our software engineering performance. Is it just that we're not in the habit of measuring ourselves? Or, are we afraid of what the numbers might reveal?

I would think that a consulting company could score business by advertising their results, starting with the defect injection rate and defect removal rate. Everyone talks about quality, but absent numbers, it's all just talk.

 First Page Previous Page 1 • 2

Comment on "Quality programming: How do you meas..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top