来自一线的代码变更:我们应将它们自动化吗?
软件工程
2021-08-05 v2
摘要
代码变更构成了软件演化最重要的特征之一。研究它们可以洞悉软件开发的本质,并带来实用的解决方案——为开发者提供流行变更的建议与自动化。在我们的工作中,我们开发了一个名为PythonChangeMiner的工具,可在Python项目的历史中发现代码变更模式。我们验证了该工具,随后将其用于从软件工程四个不同领域的120个项目的数据集中发现模式。我们从结构和内容的角度手动对出现在多于一个项目中的模式进行分类,并比较不同领域和模式。我们对所发现变更的开发者进行了调查:其中82.9%的人表示能为该变更命名,57.9%的人表达了将其变更自动化的意愿,表明该工具有发现有价值模式的能力。最后,我们访谈了某流行集成开发环境(IDE)开发团队的9名成员,以评估自动化所发现变更的可行性。结果表明,独立于上下文和高精度使一个模式成为更好的自动化候选。这些模式主要获得正面评价,数个被评为极有可能自动化。
引用
@article{arxiv.2105.10157,
title = {Changes from the Trenches: Should We Automate Them?},
author = {Yaroslav Golubev and Jiawei Li and Viacheslav Bushev and Timofey Bryksin and Iftekhar Ahmed},
journal= {arXiv preprint arXiv:2105.10157},
year = {2021}
}
备注
11 pages, 10 figures