In recent years, artificial intelligence (AI) techniques have been proposed to support a wide range of software engineering tasks, such as locating program bugs, writing code automatically, and generating test cases. These promising results have motivated industry practitioners to develop AI-powered development tools to enhance the productivity of their company’s software engineering activities. As most existing AI tools are developed only for specific tasks and programming languages, the deployment of such techniques is quite fragmented; it requires tools to be adopted across the software development lifecycle and in various languages, such as JavaScript, Python, C#, and C++, as well as in environments such as web browsers and source editors. To assist practitioners in adopting such heterogeneous AI-powered development tools, this paper provides an overview of the current development state of these tools. Finally, we discuss the challenges and opportunities associated with the use of existing AI techniques in software development.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Improving Software Project Development Performance Using AI Tools

  • Hamed Fawareh,
  • Sara Abu Dabaa’t

摘要

In recent years, artificial intelligence (AI) techniques have been proposed to support a wide range of software engineering tasks, such as locating program bugs, writing code automatically, and generating test cases. These promising results have motivated industry practitioners to develop AI-powered development tools to enhance the productivity of their company’s software engineering activities. As most existing AI tools are developed only for specific tasks and programming languages, the deployment of such techniques is quite fragmented; it requires tools to be adopted across the software development lifecycle and in various languages, such as JavaScript, Python, C#, and C++, as well as in environments such as web browsers and source editors. To assist practitioners in adopting such heterogeneous AI-powered development tools, this paper provides an overview of the current development state of these tools. Finally, we discuss the challenges and opportunities associated with the use of existing AI techniques in software development.