与Copilot交流:探索使用自然语言解决CS1问题的Prompt Engineering
通过对AI程序员GitHub Copilot生成代码中的高危漏洞相关场景的系统研究,我们发现了40%的代码是存在漏洞的,这造成了对代码安全性的重大担忧。
Aug, 2021
本文研究了利用大型语言模型进行自然语言生成的能力,并应用于编程课程中常见的两种学习资源的制作。研究发现,在创建编程练习时,只需要输入关键词,即可显著影响编程概念和上下文主题的内容,同时也证明了大多数自动生成的内容是全新且合理的。这些结果表明,使用大型生成机器学习模型作为教学工具是有重要价值的,但在交付给学生之前需要一些监督来确保生成的内容质量。文章还探讨了OpenAI Codex及类似工具对初学者编程教育的影响,并强调了可能改善教学体验的未来研究方向。
Jun, 2022
本文研究了两种语言模型的各种输入参数,并进行了研究以了解这些输入参数的变化(例如编程任务描述和周围环境,语言模型的创造力,生成的解决方案数量)是否会对生成的程序的质量产生显着影响。研究结果表明,改变输入参数可以显着提高语言模型的性能。但是,当改变温度、提示和生成的解决方案数量时,存在严格的依赖关系,可能很难让开发人员正确控制参数以获得最佳结果。
Oct, 2022
本研究探讨了 AI 支持的编程工具的现有局限性和未来发展挑战,从 Copilot 的代码建议语言习惯和代码气味方面进行了初步探索,同时提出了一个简单的分类工具来理解该领域的 AI 支持的 code completion 工具。
Mar, 2023
本研究检验了AI助手Copilot使用Codex生成代码时存在的简单错误(SStuBs),发现Codex和其他大型语言模型确实可以避免一些SStuBs,但会生成已知的错误。我们探讨了这些错误的后果,并提出了一些避免策略,可能减少已知的SStuBs的产生,增加已知错误的修复概率。
Mar, 2023
近年来,深度学习的最新发展已经产生了从自然语言和代码提示中生成源代码的代码生成模型,在课堂上,学习编程的新手现在可以使用免费工具自动建议编程练习和作业的解决方案,然而,目前尚不清楚新手如何与这些工具实际交互。本文通过观察和采访初学者,研究了使用一种自动生成代码的工具Github Copilot的学生在典型的编程入门任务中的感知、交互模式和认知和元认知困难,并探讨Copilot等工具如何更好地支持和搭建新手编程体验的设计方案。
Apr, 2023
这篇论文介绍了一种名为Copilot for Xcode的AI辅助编程工具,通过将云端的大型语言模型与苹果的本地开发环境Xcode无缝集成,提高了软件开发者的生产力,释放了创造力,支持苹果软件生态系统中的软件开发。它利用先进的自然语言处理技术,有效处理代码库中的源代码令牌和模式,实现代码生成、自动完成、文档编制和错误检测等功能。软件开发者还可以通过Copilot for Xcode的聊天界面查询和进行“小型”程序组合的决策,其中一些决策可以同时进行。最后,我们通过简单的案例研究展示了在Xcode中利用NLP来促进流行的大型语言模型服务如OpenAI ChatGPT进行程序组合和设计的有效性。
Jul, 2023
研究调查了8个提示特征对生成代码的风格、内容、正确性、复杂性、大小和与开发人员代码的相似性的影响,并考虑了在使用Copilot生成200个Java方法的124,800个提示的任务结果表明,某些提示特征,如示例的存在和方法目的的总结,可以显著影响结果的质量。
Feb, 2024
本研究探讨了大型语言模型(LLMs)在教育任务中辅助教师和学生的能力,特别是评估ChatGPT在解决和评分西班牙语编程考试的表现。研究发现,该模型在解决简单编程任务方面有效,但在处理复杂问题或评估他人解决方案时效果不佳。此外,我们发布了一套新的编程任务语料库及相应的提示,供其他研究团队使用。
Sep, 2024
本研究针对入门编程课程中初学者因语法和调试问题而面临的学习困难,提出通过自然语言提示活动来增强问题解决能力的创新方法。研究发现,学生在自然语言任务上的表现与自我报告的学习困难关系较弱,表明此方法可以吸引更广泛的学生群体,并培养与AI编程模型沟通的新技能。
Oct, 2024