关于开发者在 GitHub Pull Requests 和 Issues 中分享与 ChatGPT 对话的实证研究
软件工程
2024-03-18 v1
摘要
ChatGPT 对软件开发实践产生了重大影响,在编码、测试和调试等各种任务中为开发者提供了实质性帮助。尽管其被广泛采用,但 ChatGPT 作为协作编码中助手的角色在很大程度上尚未被探索。在本文中,我们分析了一个包含 210 和 370 名开发者在 GitHub pull requests (PRs) 和 issues 中分享与 ChatGPT 对话的数据集。我们手动检查了对话内容,并刻画了分享行为的动态特征,即理解分享背后的动机,识别对话分享的位置,并确定分享对话的开发者的角色。我们的主要观察结果是:(1) 开发者在 16 类软件工程查询中寻求 ChatGPT 的帮助。在 PRs 和 issues 中分享的对话里,最常遇到的查询类别包括代码生成、概念性问题、操作指南、问题解决和代码审查。(2) 开发者经常通过多轮对话与 ChatGPT 互动,其中每个提示可以履行不同的角色,例如揭示初始或新任务、迭代跟进和提示细化。多轮对话分别占 PRs 和 issues 中分享对话的 33.2% 和 36.9%。(3) 在协作编码中,开发者利用与 ChatGPT 分享的对话来促进其特定角色的贡献,无论是作为 PRs 或 issues 的作者、代码审查者,还是 issues 的协作者。我们的工作作为理解协作软件开发中开发者与 ChatGPT 之间动态关系的第一步,并为该主题的未来研究开辟了新方向。
引用
@article{arxiv.2403.10468,
title = {An Empirical Study on Developers Shared Conversations with ChatGPT in GitHub Pull Requests and Issues},
author = {Huizi Hao and Kazi Amit Hasan and Hong Qin and Marcos Macedo and Yuan Tian and Steven H. H. Ding and Ahmed E. Hassan},
journal= {arXiv preprint arXiv:2403.10468},
year = {2024}
}