Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching
Tue 16 Nov 2021 22:02 - 22:04 at Kangaroo - Tool Demo (1) Chair(s): Sridhar Chimalakonda
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 recurrent 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 us to support complex distributed code patterns. We have also asked several experienced developers to rate the usability and the performance of our plugin, and they gave us a positive feedback.
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
Tue 16 NovDisplayed time zone: Hobart change
22:00 - 23:00 | Tool Demo (1)Tool Demonstrations at Kangaroo Chair(s): Sridhar Chimalakonda RISHA Lab, Indian Institute of Technology, Tirupati | ||
22:00 2mTalk | EvoMe: A Software Evolution Management Engine Based on Differential Factbase Tool Demonstrations Xiuheng Wu Nanyang Technological University, Mengyang Li Nanyang Technological University, Yi Li Nanyang Technological University Pre-print | ||
22:02 2mTalk | Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching Tool Demonstrations Oleg Smirnov JetBrains Research, Saint Petersburg State University, Artyom Lobanov JetBrains Research, Yaroslav Golubev JetBrains Research, Elena Tikhomirova JetBrains Research, Timofey Bryksin JetBrains Research; HSE University Pre-print | ||
22:04 2mTalk | SoManyConflicts: Resolve Many Merge Conflicts Interactively and Systematically Tool Demonstrations | ||
22:06 2mTalk | Automated Code Refactoring upon Database-Schema Changes in Web Applications Tool Demonstrations Sophie Xie Whitney Young High School, Junwen Yang University of Chicago, Shan Lu University of Chicago | ||
22:08 2mTalk | BeAFix: An Automated Repair Tool for Faulty Alloy Models Tool Demonstrations Simón Gutiérrez Brida University of Rio Cuarto and CONICET, Argentina, Germán Regis Universidad Nacional de Río Cuarto, Guolong Zheng University of Nebraska Lincoln, Hamid Bagheri University of Nebraska-Lincoln, ThanhVu Nguyen George Mason University, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires | ||
22:10 2mTalk | RefactorInsight: Enhancing IDE Representation of Changes in Git with Refactorings Information Tool Demonstrations Zarina Kurbatova JetBrains Research, Vladimir Kovalenko JetBrains Research, Ioana Savu Delft University of Technology, Bob Brockbernd Delft University of Technology, Dan Andreescu Delft University of Technology, Matei Anton Delft University of Technology, Roman Venediktov Higher School of Economics, Elena Tikhomirova JetBrains Research, Timofey Bryksin JetBrains Research; HSE University Pre-print |