RefactorInsight: Enhancing IDE Representation of Changes in Git with Refactorings Information

08/25/2021
by   Zarina Kurbatova, et al.
0

Inspection of code changes is a time-consuming task that constitutes a big part of everyday work of software engineers. Existing IDEs provide little information about the semantics of code changes within the file editor view. Therefore developers have to track changes across multiple files, which is a hard task with large codebases. In this paper, we present RefactorInsight, a plugin for IntelliJ IDEA that introduces a smart diff for code changes in Java and Kotlin where refactorings are auto-folded and provided with their description, thus allowing users to focus on changes that modify the code behavior like bug fixes and new features. RefactorInsight supports three usage scenarios: viewing smart diffs with auto-folded refactorings and hints, inspecting refactorings in pull requests and in any specific commit in the project change history, and exploring the refactoring history of methods and classes. The evaluation shows that commit processing time is acceptable: on median it is less than 0.2 seconds, which delay does not disrupt developers' IDE workflows. RefactorInsight is available at https://github.com/JetBrains-Research/RefactorInsight. The demonstration video is available at https://youtu.be/-6L2AKQ66nA.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

04/03/2020

Visualization of Methods Changeability Based on VCS Data

Software engineers have a wide variety of tools and techniques that can ...
04/02/2019

The Impact of Systematic Edits in History Slicing

While extracting a subset of a commit history, specifying the necessary ...
12/07/2021

IntelliTC: Automating Type Changes in IntelliJ IDEA

Developers often change the types of program elements. Such a refactorin...
07/28/2021

Sorrel: an IDE Plugin for Managing Licenses and Detecting License Incompatibilities

Software development is a complex process that includes many different t...
11/17/2021

Are automated static analysis tools worth it? An investigation into relative warning density and external software quality

Automated Static Analysis Tools (ASATs) are part of software development...
06/28/2019

A 1d convolutional network for leaf and time series classification

In this paper, a 1d convolutional neural network is designed for classif...
12/30/2021

AntiCopyPaster: Extracting Code Duplicates As Soon As They Are Introduced in the IDE

We have developed a plugin for IntelliJ IDEA called AntiCopyPaster that ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.