arrow
Return

Automatically identifying code features for software defect prediction: Using AST N-grams

delete2019-02-01
delete65
delete
OA
AI
T
Thomas Shippey
D
David Bowes
T
Tracy Hall *
DOI:10.1016/j.infsof.2018.10.001delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Context Identifying defects in code early is important. A wide range of static code metrics have been evaluated as potential defect indicators. Most of these metrics offer only high level insights and focus on particular pre-selected features of the code. None of the currently used metrics clearly performs best in defect prediction. Objective: We use Abstract Syntax Tree (AST) n-grams to identify features of defective Java code that improve defect prediction performance. Method: Our approach is bottom-up and does not rely on pre-selecting any specific features of code. We use non-parametric testing to determine relationships between AST n-grams and faults in both open source and commercial systems. We build defect prediction models using three machine learning techniques. Results: We show that AST n-grams are very significantly related to faults in some systems, with very large effect sizes. The occurrence of some frequently occurring AST n-grams in a method can mean that the method is up to three times more likely to contain a fault. AST n-grams can have a large effect on the performance of defect prediction models. Conclusions: We suggest that AST n-grams offer developers a promising approach to identifying potentially defective code.
Keywords:
FAULTS
SYSTEM
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.8K
Citations:
7.7K

Organization

L
Lancaster University
Scholars:
9.5K
Papers: 1.1W
Citations: 1.7W
U
University of Hertfordshire
Scholars:
4.0K
Papers: 4.4K
Citations: 6.8K
U
University of Central Lancashire
Scholars:
2.9K
Papers: 2.9K
Citations: 3.5K
researcher View more organizations
Cited Papers

Cited Papers

A Systematic Literature Review on Fault Prediction Performance in Software Engineering
err2012-11-01
err772
errOAAI
errHall, Tracy; Beecham, Sarah; Bowes, David; Gray, David; Counsell, Steve
errShare
errSave
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bug-Introducing Changes
err2017-07-01
err139
PREAI
errda Costa, Daniel Alencar; McIntosh, Shane; Shang, Weiyi; Kulesza, Uira; Coelho, Roberta; Hassan, Ahmed E.
errShare
errSave
errShare
errSave
Local versus Global Lessons for Defect Prediction and Effort Estimation
err2013-06-01
err169
PREAI
errMenzies, Tim; Butcher, Andrew; Cok, David; Marcus, Andrian; Layman, Lucas; Shull, Forrest; Turhan, Burak; Zimmermann, Thomas
errShare
errSave
On the relative value of cross-company and within-company data for defect prediction
err2009-01-07
err519
PREAI
errTurhan, Burak; Menzies, Tim; Bener, Ayse B.; Di Stefano, Justin
errShare
errSave
Comparing the effectiveness of several modeling methods for fault prediction
err2009-06-10
err86
PREAI
errWeyuker, Elaine J.; Ostrand, Thomas J.; Bell, Robert M.
errShare
errSave
Increasing diversity: Natural language measures for software fault prediction
err2009-11-01
err18
PREAI
errBinkley, David; Feild, Henry; Lawrie, Dawn; Pighin, Maurizio
errShare
errSave
researcher View more