Recently, Coverity added Ruby to it's list of scanned projects (overview data is available
here). Because Perl and Python were already in Coverity's target list, this allows us to look at a code quality comparison between these three languages.
Below, I've listed each langage with its Lines of Code (LoC), current number of defects, original number of defects, current rate of defects per KLoC, and the original rate of defects per KLoC. I've had to calculate the last figure since it's not explicitly available on Coverity's wesite.
Lang | LoC | cur defects | defect rate |
Perl | 485,001 | 67 | 0.138 |
Python | 273,980 | 14 | 0.051 |
Ruby | 258,908 | 30 | 0.116 |
Python looks very good here, probably because they've been aggressive about attacking the reported defects. In the grand scheme of things though, All three languages look pretty good.
Lang | LoC | orig defects | defect rate |
Perl | 485,001 | 89 | 0.185 |
Python | 273980 | 96 | 0.350 |
Ruby | 258,908 | 30 | 0.116 |
This is where Ruby shows a bit better than the 'competition'. Ruby has a pretty good (low) defect rate before we've even gotten any feedback from Coverity. Hopefully we can be at least as aggressive about attacking our defects as the Python community. In fact, there's an even better target — AMANDA:
Lang | LoC | cur defects | defect rate |
AMANDA | 0 | 88,414 | 0.000 |
(By the way, they started out with a rate of 1.227)
Um... 88,414 defects in 0 lines of code? That is pretty good.
ReplyDelete