Revizor: 基于图匹配的数据驱动频繁代码变更自动化方法
软件工程
2021-08-26 v1
摘要
开发者在项目中进行的许多代码变更是重复的,并构成循环变更模式。从开源代码库的版本历史中收集此类模式,并将其中最有用的模式作为快速修复建议,具有重要意义。本文提出了 Revizor——一种旨在为流行的 Python IDE PyCharm 构建自定义插件的工具。基于 Revizor 的插件可以获取变更模式,并在开发者的代码编辑器中高亮显示其潜在应用位置。如果开发者接受快速修复,插件将自动执行编辑。我们的方法使用基于图的代码变更表示,使其能够支持复杂的分布式代码模式。经验丰富的开发者也对此类基于 Revizor 的插件的可用性和性能给予了积极评价。该工具的源代码和测试插件原型可在 GitHub 获取:https://github.com/JetBrains-Research/revizor。带有简短工具描述的演示视频可在 YouTube 观看:https://youtu.be/5eLs14nco7E。
引用
@article{arxiv.2108.11199,
title = {Revizor: A Data-Driven Approach to Automate Frequent Code Changes Based on Graph Matching},
author = {Oleg Smirnov and Artyom Lobanov and Yaroslav Golubev and Elena Tikhomirova and Timofey Bryksin},
journal= {arXiv preprint arXiv:2108.11199},
year = {2021}
}
备注
5 pages, 3 figures