关于ChatGPT-3.5在问答与代码维护方面的实证研究
软件工程
2023-10-04 v1
摘要
自2022年ChatGPT发布以来,一个日益增加的担忧是ChatGPT是否会取代程序员并消灭工作岗位。受这一广泛担忧的驱动,我们进行了一项实证研究,以系统性地将ChatGPT与程序员在问答和软件维护方面进行比较。我们复用了先前工作引入的数据集,其中包含357个GitHub项目的Java开发者所引用的130个StackOverflow(SO)讨论线程。我们主要研究了三个研究问题(RQ)。第一,ChatGPT在回答技术问题时与程序员相比如何?第二,开发者如何感知ChatGPT答案与SO答案之间的差异?第三,ChatGPT在根据维护请求修改代码时与人类相比如何?对于RQ1,我们向ChatGPT提供130个SO问题,并从相关性、可读性、信息量、全面性和可复用性方面手动将ChatGPT答案与已接受/最受欢迎的SO答案进行比较。对于RQ2,我们对30名开发者进行了用户研究,要求每位开发者评估并比较10对答案,且不知晓信息来源(即ChatGPT或SO)。对于RQ3,我们从引用所研究SO线程的48个GitHub项目中提炼出48个软件维护任务。我们查询ChatGPT以修改给定的Java文件,并为任何规定的维护需求纳入代码实现。我们的研究揭示了有趣的现象:对于大多数SO问题(97/130),ChatGPT提供了更好的答案;在300次评分中的203次,开发者偏好ChatGPT答案甚于SO答案;ChatGPT在48个任务中的22个正确修订了代码。我们的研究将拓展人们对ChatGPT能力的认知,并为软件行业未来采用ChatGPT提供启示。
引用
@article{arxiv.2310.02104,
title = {An empirical study of ChatGPT-3.5 on question answering and code maintenance},
author = {Md Mahir Asef Kabir and Sk Adnan Hassan and Xiaoyin Wang and Ying Wang and Hai Yu and Na Meng},
journal= {arXiv preprint arXiv:2310.02104},
year = {2023}
}