Generative Artificial Intelligence (GenAI) tools have become increasingly prevalent in software development, offering assistance to various managerial and technical project activities. Notable examples of these tools include OpenAIs ChatGPT, GitHub Copilot, and Amazon CodeWhisperer. Although many recent publications have explored and evaluated the application of GenAI, a comprehensive understanding of the current development, applications, limitations, and open challenges remains unclear to many. Particularly, we do not have an overall picture of the current state of GenAI technology in practical software engineering usage scenarios. We conducted a literature review and focus groups for a duration of five months to develop a research agenda on GenAI for Software Engineering. We identified 78 open Research Questions (RQs) in 11 areas of Software Engineering. Our results show that it is possible to explore the adoption of GenAI in partial automation and support decision-making in all software development activities. While the current literature is skewed toward software implementation, quality assurance and software maintenance, other areas, such as requirements engineering, software design, and software engineering education, would need further research attention. Common considerations when implementing GenAI include industry-level assessment, dependability and accuracy, data accessibility, transparency, and sustainability aspects associated with the technology. GenAI is bringing significant changes to the field of software engineering. Nevertheless, the state of research on the topic still remains immature. We believe that this research agenda holds significance and practical value for informing both researchers and practitioners about current applications and guiding future research.
翻译:生成式人工智能工具在软件开发中日益普及,为各类管理和技术项目活动提供辅助。典型工具包括OpenAI的ChatGPT、GitHub Copilot和Amazon CodeWhisperer。尽管近期许多出版物已探索并评估了生成式人工智能的应用,但业界对其当前发展、应用场景、局限性及开放挑战仍缺乏全面认知。尤其缺乏该技术在软件工程实际使用场景中的全景式现状分析。我们通过为期五个月的文献综述与焦点小组研究,制定了针对软件工程的生成式人工智能研究议程,在软件工程11个领域中识别出78个待研究问题。研究结果表明,探索将生成式人工智能应用于所有软件开发活动的部分自动化与决策支持具有可行性。虽然当前文献偏向软件实现、质量保证与软件维护领域,但需求工程、软件设计及软件工程教育等其他领域仍需更多研究关注。实施生成式人工智能时需考虑的共性因素包括行业级评估、可靠性及准确性、数据可访问性、透明度及技术可持续性。生成式人工智能正为软件工程领域带来重大变革,但相关研究仍处于初步阶段。我们认为本项研究议程对告知研究人员与从业者当前应用现状,并指导未来研究方向具有重要学术价值与实践意义。