by pk2200 on 10/1/17, 5:26 PM with 66 comments
by hellofunk on 10/2/17, 5:46 AM
by defined on 10/1/17, 6:23 PM
- The content of commit messages varies widely in expressiveness and meaningfulness, from 'Fix bug' to a detailed explanation. This confounds the classification of a commit.
- The number of commits can be very misleading depending on the committer's workflow. Some committers merge topic branches to include all their intermediate work in progress commits, which could overrepresent commits flagged as errors. Other committers rebase their topic branches into fewer, or even single, commits before merging. Or, some commits may fix multiple defects.
This kind of analysis is conceptually a worthy endeavor; it would be more meaningful if the metrics it employed were more strongly correlated with the attributes it was trying to analyze.
by rixed on 10/1/17, 9:57 PM
It seems similar to the paradox that makes the best medicine appear to have a lower survival rate just because it's given to most serious patients.
by RickHull on 10/1/17, 10:13 PM
As best I can tell, they use commit messages to identify bugfixes, and later they jump to "defective commits". Presumably the bugfix commit is not the defective commit. There is no explanation I can find that shows how they arrive at a defective commit from a bugfix commit.
This specific methodology seems rife with weakness, all of which should be explained clearly and admitted up front.
by foolfoolz on 10/1/17, 9:46 PM
by kccqzy on 10/2/17, 2:41 AM
by yogthos on 10/2/17, 12:11 AM
If we see empirical evidence that projects written in certain types of languages consistently perform better in a particular area, such as reduction in defects, we can then make a hypothesis as to why that is.
For example, if there was statistical evidence to indicate that using Haskell reduces defects, a hypothesis could be made that the the Haskell type system plays a role here. That hypothesis could then be further tested, and that would tell us whether it's correct or not.
However, this is pretty much the opposite of what happens in discussions about features such as static typing. People state that static typing has benefits and then try to fit the evidence to fit that claim. Even the authors of this study fall into this trap. They read into the preconceived notions that are not supported by the data in their results. The differences they found are so small that it's reasonable to say that the impact of the language is negligible.
by euske on 10/2/17, 1:32 AM
by hoytech on 10/2/17, 1:26 AM
Regarding Perl, the quoted statement is wrong:
$ perl -E 'say "5" + 2'
7
Furthermore, this is not an implicit conversion. The + operator is an explicit numeric conversion. Here's a more detailed description:https://codespeaks.blogspot.ca/2007/09/ruby-and-python-overl...
by j2kun on 10/1/17, 10:14 PM
by davedx on 10/2/17, 5:39 AM
"However when compared to the average, as a group, languages that do not allow implicit type conversion are less error-prone while those that do are more error-prone."
A lot of the conclusions are along these lines: languages with explicit type conversion have less [type conversion] errors. Well, of course...
Still worth a read though, and makes a strong case for functional, statically-typed languages.
by PleaseHelpMe on 10/2/17, 1:40 AM
> The data indicates that functional languages are better than procedural languages; it suggests that disallowing implicit type conversion is better than allowing it; that static typing is better than dynamic; and that managed memory usage is better than unmanaged. Further, that the defect proneness of languages in general is not associated with software domains. Additionally, languages are more related to individual bug categories than bugs overall.
by hellofunk on 10/2/17, 4:52 AM
by neilwilson on 10/2/17, 7:38 AM
Smarter programmers are likely to be able to get their head around the strict requirements of functional languages and they are the ones using the languages at the moment.
Java, on the other hand, is pretty much the COBOL of this generation.
by hellofunk on 10/2/17, 5:39 PM
by monster2control on 10/3/17, 1:33 AM