Automatic programming has seen increasing popularity due to the emergence of tools like GitHub Copilot which rely on Large Language Models (LLMs). At the same time, automatically generated code faces challenges during deployment due to concerns around quality and trust. In this article, we study automated coding in a general sense and study the concerns around code quality, security and related issues of programmer responsibility. These are key issues for organizations while deciding on the usage of automatically generated code. We discuss how advances in software engineering such as program repair and analysis can enable automatic programming. We conclude with a forward looking view, focusing on the programming environment of the near future, where programmers may need to switch to different roles to fully utilize the power of automatic programming. Automated repair of automatically generated programs from LLMs, can help produce higher assurance code from LLMs, along with evidence of assurance
翻译:自动编程因GitHub Copilot等依赖大型语言模型(LLMs)的工具的出现而日益流行。与此同时,自动生成的代码在部署过程中因质量和可信度问题面临挑战。本文从广义上研究自动化编码,探讨代码质量、安全性及相关程序员责任问题。这些是组织在决定使用自动生成代码时的关键考量。我们讨论软件工程领域的进展(如程序修复与分析)如何推动自动编程的发展。最后,我们展望未来:在不久的将来的编程环境中,程序员可能需要切换至不同角色以充分利用自动编程的能力。对LLMs自动生成程序的自动化修复,有助于生成具有更高保证度的代码,并提供相应的保证证据。