TY - GEN
T1 - High-impact defects
T2 - 19th ACM SIGSOFT Symposium on Foundations of Software Engineering, SIGSOFT/FSE'11
AU - Shihab, Emad
AU - Mockus, Audri
AU - Kamei, Yasutaka
AU - Adams, Bram
AU - Hassan, Ahmed E.
PY - 2011
Y1 - 2011
N2 - The relationship between various software-related phenomena (e.g., code complexity) and post-release software defects has been thoroughly examined. However, to date these predictions have a limited adoption in practice. The most commonly cited reason is that the prediction identifies too much code to review without distinguishing the impact of these defects. Our aim is to address this drawback by focusing on high-impact defects for customers and practitioners. Customers are highly impacted by defects that break pre-existing functionality (breakage defects), whereas practitioners are caught off-guard by defects in files that had relatively few pre-release changes (surprise defects). The large commercial software system that we study already had an established concept of breakages as the highest-impact defects, however, the concept of surprises is novel and not as well established. We find that surprise defects are related to incomplete requirements and that the common assumption that a fix is caused by a previous change does not hold in this project. We then fit prediction models that are effective at identifying files containing breakages and surprises. The number of pre-release defects and file size are good indicators of breakages, whereas the number of co-changed files and the amount of time between the latest pre-release change and the release date are good indicators of surprises. Although our prediction models are effective at identifying files that have breakages and surprises, we learn that the prediction should also identify the nature or type of defects, with each type being specific enough to be easily identified and repaired.
AB - The relationship between various software-related phenomena (e.g., code complexity) and post-release software defects has been thoroughly examined. However, to date these predictions have a limited adoption in practice. The most commonly cited reason is that the prediction identifies too much code to review without distinguishing the impact of these defects. Our aim is to address this drawback by focusing on high-impact defects for customers and practitioners. Customers are highly impacted by defects that break pre-existing functionality (breakage defects), whereas practitioners are caught off-guard by defects in files that had relatively few pre-release changes (surprise defects). The large commercial software system that we study already had an established concept of breakages as the highest-impact defects, however, the concept of surprises is novel and not as well established. We find that surprise defects are related to incomplete requirements and that the common assumption that a fix is caused by a previous change does not hold in this project. We then fit prediction models that are effective at identifying files containing breakages and surprises. The number of pre-release defects and file size are good indicators of breakages, whereas the number of co-changed files and the amount of time between the latest pre-release change and the release date are good indicators of surprises. Although our prediction models are effective at identifying files that have breakages and surprises, we learn that the prediction should also identify the nature or type of defects, with each type being specific enough to be easily identified and repaired.
UR - http://www.scopus.com/inward/record.url?scp=80053190898&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=80053190898&partnerID=8YFLogxK
U2 - 10.1145/2025113.2025155
DO - 10.1145/2025113.2025155
M3 - Conference contribution
AN - SCOPUS:80053190898
SN - 9781450304436
T3 - SIGSOFT/FSE 2011 - Proceedings of the 19th ACM SIGSOFT Symposium on Foundations of Software Engineering
SP - 300
EP - 310
BT - SIGSOFT/FSE'11 - Proceedings of the 19th ACM SIGSOFT Symposium on Foundations of Software Engineering
Y2 - 5 September 2011 through 9 September 2011
ER -