Standard

Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching. / Smirnov, Oleg; Lobanov, Artyom; Golubev, Yaroslav; Tikhomirova, Elena; Bryksin, Timofey.

2021.

Research output: Working paperPreprint

Harvard

APA

Vancouver

Author

BibTeX

@techreport{72bd327b1fc441c799c767bc145b8b69,
title = "Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching",
abstract = " Many code changes that developers make in their projects are repeated and constitute recurrent change patterns. It is of interest to collect such patterns from the version history of open-source repositories and suggest the most useful of them as quick fixes. In this paper, we present Revizor - a tool aimed to build custom plugins for PyCharm, a popular Python IDE. A Revizor-based plugin can take change patterns and highlight potential places for their application in the developer's code editor. If the developer accepts the quick fix, the plugin automatically performs the edit. Our approach uses a graph-based representation of code changes, which allows it to support complex distributed code patterns. Experienced developers have also rated the usability and the performance of such Revizor-based plugin positively. The source code of the tool and test plugin prototype are available on GitHub: https://github.com/JetBrains-Research/revizor. A demonstration video with a short tool description can be found on YouTube: https://youtu.be/5eLs14nco7E. ",
keywords = "cs.SE",
author = "Oleg Smirnov and Artyom Lobanov and Yaroslav Golubev and Elena Tikhomirova and Timofey Bryksin",
note = "5 pages, 3 figures",
year = "2021",
month = aug,
day = "25",
language = "English",
type = "WorkingPaper",

}

RIS

TY - UNPB

T1 - Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching

AU - Smirnov, Oleg

AU - Lobanov, Artyom

AU - Golubev, Yaroslav

AU - Tikhomirova, Elena

AU - Bryksin, Timofey

N1 - 5 pages, 3 figures

PY - 2021/8/25

Y1 - 2021/8/25

N2 - Many code changes that developers make in their projects are repeated and constitute recurrent change patterns. It is of interest to collect such patterns from the version history of open-source repositories and suggest the most useful of them as quick fixes. In this paper, we present Revizor - a tool aimed to build custom plugins for PyCharm, a popular Python IDE. A Revizor-based plugin can take change patterns and highlight potential places for their application in the developer's code editor. If the developer accepts the quick fix, the plugin automatically performs the edit. Our approach uses a graph-based representation of code changes, which allows it to support complex distributed code patterns. Experienced developers have also rated the usability and the performance of such Revizor-based plugin positively. The source code of the tool and test plugin prototype are available on GitHub: https://github.com/JetBrains-Research/revizor. A demonstration video with a short tool description can be found on YouTube: https://youtu.be/5eLs14nco7E.

AB - Many code changes that developers make in their projects are repeated and constitute recurrent change patterns. It is of interest to collect such patterns from the version history of open-source repositories and suggest the most useful of them as quick fixes. In this paper, we present Revizor - a tool aimed to build custom plugins for PyCharm, a popular Python IDE. A Revizor-based plugin can take change patterns and highlight potential places for their application in the developer's code editor. If the developer accepts the quick fix, the plugin automatically performs the edit. Our approach uses a graph-based representation of code changes, which allows it to support complex distributed code patterns. Experienced developers have also rated the usability and the performance of such Revizor-based plugin positively. The source code of the tool and test plugin prototype are available on GitHub: https://github.com/JetBrains-Research/revizor. A demonstration video with a short tool description can be found on YouTube: https://youtu.be/5eLs14nco7E.

KW - cs.SE

M3 - Preprint

BT - Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching

ER -

ID: 84943839