paint-brush
确保质量和合规性:通过使用副驾驶应对挑战经过@textmodels
191 讀數

确保质量和合规性:通过使用副驾驶应对挑战

太長; 讀書

通过简化 IDE 兼容性、自定义行为、管理生成的内容以及确保代码质量和合规性,探索利用 Copilot 增强编码体验的方法。 TLDR(摘要): 此摘录讨论了增强 Copilot 跨 IDE 兼容性、简化其配置、为用户提供自定义选项、控制内容生成以及提高代码建议质量的需求。它还强调了代码解释的重要性并解决了有关知识产权和版权的问题。
featured image - 确保质量和合规性:通过使用副驾驶应对挑战
Writings, Papers and Blogs on Text Models HackerNoon profile picture


作者:

(1) 周希宇,武汉大学计算机学院,中国武汉;

(2) 彭亮,武汉大学计算机学院,中国武汉;

(3) 李增阳,华中师范大学计算机学院,中国武汉;

(4) Aakash Ahmad,莱比锡兰卡斯特大学计算与通信学院,德国莱比锡;

(4) Mojtaba Shahin,皇家墨尔本理工大学计算技术学院,澳大利亚墨尔本;

(4) Muhammad Waseem,芬兰于韦斯屈莱大学信息技术学院。


四.讨论

增强各种 IDE 和编辑器之间的兼容性并简化 Copilot 的配置。根据RQ1和RQ2的结果,兼容性问题是第二大类别,而编辑器/IDE兼容性问题是导致许多使用问题的原因。从用户的角度来看,我们也观察到了大量关于 Copilot 配置和设置相关细节的讨论,这使得修改配置/设置成为第二常用的解决方案。此外,不正确的配置/设置是第五大常见问题原因。根据调查结果,我们认为增强兼容性并简化用户 Copilot 的配置过程可以显着改善用户的体验。因此,Copilot团队可能会提供更详细的安装和配置指南,提供用户友好的配置选项,并进行定期更新和维护。


需要更多的自定义选项,以允许用户定制 Copilot 的行为以符合他们自己的工作流程。在 123 个功能请求中,我们确定了 52 个此类请求的实例,用于在各个方面自定义 Copilot 的行为,约占 50%。一些常见的请求是指定 Copilot 自动运行的文件类型或工作空间 (11)、修改接受建议的快捷键 (10)、逐行或逐字接受代码建议 (9)、阻止 Copilot生成某些类型的建议(例如文件路径、注释)(3),并配置文本颜色和字体 (3)。在张等人的研究中。 [19],他们还表示允许用户定制建议是至关重要的。此外,根据较差的功能体验(例如,认为 Copilot 的自动建议会分散注意力,Bird 等人的研究也提到了这一点。[20]),我们可以看出定制 Copilot 行为的需求。根据结果,我们认为Copilot的行为能够在多大程度上很好地适应用户的个人编码习惯是他们决定使用Copilot的重要因素。因此,提供灵活且用户友好的定制选项是非常有益的。此外,探讨AI编码工具如何与用户交互,并将这些工具集成到实际开发中也很有意义。


用户需要更多方式来控制 Copilot 生成的内容。从表四可以看出,大多数解决方案旨在解决使用问题和兼容性问题,而有少量解决方案针对建议内容问题。在 69 个建议内容问题中,我们仅确定了 5 个解决方案,这表明用户可能会发现为 Copilot 建议的内容问题提供理想的解决方案具有挑战性。这部分是由于除了代码和代码注释本身之外,用户控制 Copilot 代码生成的方法有限。因此需要额外的方法来解决建议内容问题,例如允许开发人员与Copilot交互并迭代生成的代码,直到代码达到开发人员的期望。


提高 Copilot 生成代码的质量。在建议内容问题中,主要类型是低质量建议 (27) 和无意义建议 (13)。 Imai 等人的实验。 [9]发现,与人类结对编程相比,Copilot虽然能够生成大量代码,但在测试过程中也导致了更多的代码删除,凸显了Copilot代码质量需要改进。伯德等人。 [20] 观察到,正如用户报告的那样,Copilot 偶尔会提供奇特且无意义的代码建议,其中一些可能包含个人信息。此外,虽然“不安全的建议”和“不太有效的建议”各只有两个实例,但我们认为这主要是由于用户在检测此类问题时遇到困难并且不太愿意报告这些问题。皮尔斯等人。 [6] 发现 Copilot 生成的 1,689 个代码片段中,40% 存在漏洞。鉴于 Copilot 的不断迭代,必须定期评估其建议的质量。


Copilot 的使用改变了编码过程并增加了验证代码建议的时间成本,使得代码解释变得非常重要。在我们的研究中,无法理解的建议 (8) 被列为第四大最常见的建议内容问题。一些用户提到代码建议过长的问题,导致可读性降低。这表明,当 Copilot 提供相对复杂的建议时,或者当用户缺乏特定领域的编码经验时,理解代码逻辑并验证其正确性可能会很耗时。王等人的研究。 [21]表明使用人工智能生成的代码可能会导致巨大的审查压力。因此,我们相信AI编码工具(例如Copilot)将改变软件开发中各种任务所花费的时间分配。我们观察到与代码解释相关的四个功能请求,Copilot 团队非常重视扩展此功能。 Copilot X中引入的聊天功能[15]已经能够提供详细的代码解释,但其准确性还需要后续阶段进一步的实验评估。


考虑知识产权和版权。版权和政策问题的数量略高于我们的预期,我们在数据提取过程中观察到用户和 GitHub 存储库所有者的许多担忧。鸟等人。 [20] 还注意到一些关于版权如何应用于 Copilot 的代码建议的讨论。我们研究的目的不是对此类问题和 Copilot 的非开源性质进行评估,因为这是一个复杂的问题,取决于 Copilot 的目标、目标用户和商业模式等多种因素。不过,我们认为Copilot团队可以采取措施解决这些问题,提供稳定、高质量的代码生成服务,同时保护用户隐私和知识产权。


这篇论文是可以在 arxiv 上找到根据 CC 4.0 许可。