[论文解读] Software Engineering for AI-Based Systems: A Survey
本文对2010至2020年期间人工智能系统软件工程(SE4AI)的系统性映射研究进行了综述,分析了248项研究,识别出关键的SE方法、挑战和研究趋势。研究发现,软件测试与质量是研究最集中的领域,而维护则仍处于研究不足状态,数据相关问题是最主要的挑战,凸显了更新AI系统SE实践的迫切需求。
AI-based systems are software systems with functionalities enabled by at least one AI component (e.g., for image- and speech-recognition, and autonomous driving). AI-based systems are becoming pervasive in society due to advances in AI. However, there is limited synthesized knowledge on Software Engineering (SE) approaches for building, operating, and maintaining AI-based systems. To collect and analyze state-of-the-art knowledge about SE for AI-based systems, we conducted a systematic mapping study. We considered 248 studies published between January 2010 and March 2020. SE for AI-based systems is an emerging research area, where more than 2/3 of the studies have been published since 2018. The most studied properties of AI-based systems are dependability and safety. We identified multiple SE approaches for AI-based systems, which we classified according to the SWEBOK areas. Studies related to software testing and software quality are very prevalent, while areas like software maintenance seem neglected. Data-related issues are the most recurrent challenges. Our results are valuable for: researchers, to quickly understand the state of the art and learn which topics need more research; practitioners, to learn about the approaches and challenges that SE entails for AI-based systems; and, educators, to bridge the gap among SE and AI in their curricula.
研究动机与目标
- 综合人工智能系统软件工程(SE4AI)的当前研究现状,以支持研究人员、从业者和教育工作者。
- 识别AI系统开发、运行与维护过程中最普遍的SE方法、挑战与研究趋势。
- 分析SWEBOK知识领域中研究的分布情况,突出软件维护等研究不足的领域。
- 为SE4AI提供分类体系与概念框架,以提升未来研究的清晰度与一致性。
- 识别关键挑战,特别是与数据相关的挑战,并针对AI系统SE标准与实践提出改进建议。
提出的方法
- 按照系统文献综述流程的指南,开展系统性映射研究(SMS)。
- 在12个数据库和arXiv中检索2010年1月至2020年3月间发表的研究,应用预设的纳入/排除标准。
- 采用三阶段筛选流程:题名/摘要、全文、最终资格确认,实施双人独立筛选并以共识方式解决分歧。
- 利用SWEBOK知识领域(如软件测试、质量、需求等)对研究进行分类,以映射SE方法。
- 通过分析研究贡献并将其归类为主题,识别挑战,尤其关注数据、伦理与系统特定问题。
- 通过研究团队的定性分析与迭代编码,不断优化分类并确保一致性。
实验结果
研究问题
- RQ1在AI系统开发与维护中,主要使用了哪些软件工程方法?它们在SWEBOK知识领域中的分布如何?
- RQ2SE4AI研究中最常关注的质量属性与应用领域是什么?主导的AI技术有哪些?
- RQ3在AI系统工程中,最突出的挑战是什么?它们与特定SE知识领域有何关联?
- RQ42010至2020年间,SE4AI的研究格局如何演变?当前研究中存在哪些空白,特别是在软件维护等代表性不足的领域?
- RQ5初级研究在多大程度上解决了AI系统中的实际挑战,如数据质量、模型鲁棒性与伦理考量?
主要发现
- 超过三分之二的SE4AI研究发表于2018年后,表明该领域发展迅速。
- 软件测试(115项研究)与软件质量(59项研究)是研究最集中的SE领域,尤其关注测试用例生成与ISO 26262等标准的适配。
- 数据相关问题是重复出现的主要挑战,占已识别挑战的25%,其中数据质量、偏见与数据稀缺性是核心关切。
- 软件维护显著研究不足,仅识别出不到10项研究,表明存在重大研究空白。
- 汽车领域是最常见的应用领域,而近一半的研究未明确指定具体应用领域。
- 深度学习是被最明确提及的AI技术,几乎所有研究均使用该技术,反映出其在当前AI系统中的主导地位。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。