Code Inspection Support for Recurring Changes with Deep Learning in Evolving Software
Advisor Information
Dr. Myoungkyu Sing
Location
MBSC 308
Presentation Type
Oral Presentation
Start Date
6-3-2020 2:15 PM
End Date
6-3-2020 3:15 PM
Abstract
Developers often make recurring changes, similar but different changes across multiple locations. They inspect such code changes per source file (i.e., a diff patch) during code reviews; however, diff patches represent low-level code modification without summarizing recurring changes, leading to tedious and error-prone code inspection. To address this problem, we propose a novel code review approach, Recurring Code Changes Inspection with Deep Learning (RIDL) that leverages change patterns of an edit script by learning code clones, identical or nearly similar code fragments. To train a classifier, RIDL learns four different clone types (e.g., Type-1, Type-2, Type-3, and Type-4 clones) from a clone database mined from 25,000 subject programs. Our approach then leverages the classifier to (1) interactively summarize recurring changes and (2) detect change mistakes, potential anomalies in a given codebase. In the evaluation, we assessed the predicting capability of RIDL by analyzing code changes in several open source projects. We evaluated how accurately RIDL summarized recurring changes and detected change anomalies. Our results showed that RIDL can help developers effectively inspect recurring changes during code reviews.
Code Inspection Support for Recurring Changes with Deep Learning in Evolving Software
MBSC 308
Developers often make recurring changes, similar but different changes across multiple locations. They inspect such code changes per source file (i.e., a diff patch) during code reviews; however, diff patches represent low-level code modification without summarizing recurring changes, leading to tedious and error-prone code inspection. To address this problem, we propose a novel code review approach, Recurring Code Changes Inspection with Deep Learning (RIDL) that leverages change patterns of an edit script by learning code clones, identical or nearly similar code fragments. To train a classifier, RIDL learns four different clone types (e.g., Type-1, Type-2, Type-3, and Type-4 clones) from a clone database mined from 25,000 subject programs. Our approach then leverages the classifier to (1) interactively summarize recurring changes and (2) detect change mistakes, potential anomalies in a given codebase. In the evaluation, we assessed the predicting capability of RIDL by analyzing code changes in several open source projects. We evaluated how accurately RIDL summarized recurring changes and detected change anomalies. Our results showed that RIDL can help developers effectively inspect recurring changes during code reviews.
Additional Information (Optional)
I would appreciate if my presentation is scheduled after 1 PM, to avoid conflict with my work.