Code Inspection Support for Recurring Changes with Deep Learning in Evolving Software

Presenter Information

Krishna Teja AyinalaFollow

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.

Additional Information (Optional)

I would appreciate if my presentation is scheduled after 1 PM, to avoid conflict with my work.

This document is currently not available here.

COinS
 
Mar 6th, 2:15 PM Mar 6th, 3:15 PM

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.