2010 · 28 citations · 24 references
ComputingComputer ScienceComputational LinguisticsFault ToleranceNatural Language ProcessingSoftware MetricsTerm ExtractionProgram ComprehensionTerm Identification
Poorly-chosen identifiers have been reported in the literature as misleading and increasing the program comprehension effort. Identifiers are composed of terms, which can be dictionary words, acronyms, contractions, or simple strings. We conjecture that the use of identical terms in different contexts may increase the risk of faults. We investigate our conjecture using a measure combining term entropy and term context coverage to study whether certain terms increase the odds ratios of methods to be fault-prone. Entropy measures the physical dispersion of terms in a program: the higher the entropy, the more scattered across the program the terms. Context coverage measures the conceptual dispersion of terms: the higher their context coverage, the more unrelated the methods using them. We compute term entropy and context coverage of terms extracted from identifiers in Rhino 1.4R3 and ArgoUML 0.16. We show statistically that methods containing terms with high entropy and context coverage are more fault-prone than others.
24
Indexing by latent semantic analysis
Scott Deerwester, Susan Dumais, George W. Furnas et al. · Journal of the American Society for Information Science · 1990 · 12.8K citations
Predicting Defects for Eclipse
Thomas Zimmermann, Rahul Premraj, Andreas Zeller · 2007 · 752 citations
Predicting faults using the complexity of code changes
Ahmed E. Hassan · 2009 · 697 citations