@misc {Simula.simula.732,
	title = {Evaluating and Guiding the Use of Coding Standards to Reduce Software Faults},
	howpublished = {Keynote address, Embedded Source Code Quality Control, Antwerp, Belgium},
	year = {2011},
	month = {Sept.},
	abstract = {In spite of the widespread use of coding standards and tools enforcing their rules, there is little empirical evidence supporting the intuition that they prevent the introduction of faults in software. Not only can enforcing compliance with rules that have little impact on the number of faults be considered a wasted effort, it can actually result in an increase in faults, as any modification has a non-zero probability of introducing a fault or triggering a previously concealed one. Therefore, it is important to build a body of empirical knowledge that helps us understand which rules are worthwhile enforcing, and which ones can be ignored in the context of fault reduction. In this talk, we reflect on our efforts to quantify and characterize the relation between rule violations and actual faults for the MISRA C 2004 standard on three industrial case studies. We found that 10 rules in the standard were significant predictors of fault location in these projects. We discuss how software and issue archives can be used to link standard violations to known bugs, and how this information can be used to address two practical issues in introducing or using a coding standard: which rules should be adhered to as they would have caught earlier issues, and how to prioritize violations. Our studies showed that such a history-based approach can help to select a subset of rules that reduce the number of locations to inspect by 64\% to 95\%, while still containing 64\% to 86\% of the real issues covered by all rules.},
	author = {Moonen, Leon}
}
