paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Comprehensive Study on Code Clones in Automated Driving Software

自动驾驶软件中代码克隆的综合研究
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 2/10 · 该论文是对自动驾驶软件中代码克隆的实证研究,虽属于程序分析与工业软件工程场景,但不涉及用户核心关注的 LLM/Agent、静态分析用于 ML/Agentic 程序、浮点程序分析或贝叶斯程序分析。引用 5 inbox
Ran Mo, Yingjie Jiang, Wenjing Zhan, Dongyu Wang, Zengyang Li
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:实证分析 Apollo 与 Autoware,揭示自动驾驶软件中代码克隆普遍存在并关联缺陷、共修改与跨模块传播。

随着自动驾驶软件日益复杂,代码克隆虽可加速开发,却可能影响可维护性,但此前缺乏针对该领域的系统研究。本文对 Apollo 和 Autoware 开展实证研究,统计分析代码克隆的分布、模块差异及其与缺陷和共修改的关系。结果表明,约 30% 的代码行涉及克隆,超过 50% 的文件包含克隆;相当一部分克隆引发了缺陷和共修改。按模块看,Perception、Planning、Canbus 和 Sensing 更易出现克隆,也更易出现缺陷倾向和共修改克隆。此外,跨模块克隆会传播缺陷与共修改,削弱软件的模块化设计。

问题
自动驾驶软件中代码克隆的普遍性、模块分布及其对缺陷、共修改和模块化的影响缺乏系统研究。
方法
对 Apollo 和 Autoware 进行实证分析,统计代码克隆比例与文件分布,并按模块考察克隆与缺陷、共修改的关联及跨模块克隆现象。
评估
基于两个真实自动驾驶软件项目的代码和演化历史数据,量化克隆普遍性、高风险模块以及跨模块克隆对缺陷和共修改的传播。
原文摘要(Abstract)

With the continuous improvement of artificial intelligence technology, autonomous driving technology has been greatly developed. Hence automated driving software has drawn more and more attention from both researchers and practitioners. Code clone is a commonly used to speed up the development cycle in software development, but many studies have shown that code clones may affect software maintainability. Currently, there is little research investigating code clones in automated driving software. To bridge this gap, we conduct a comprehensive experience study on the code clones in automated driving software. Through the analysis of Apollo and Autoware, we have presented that code clones are prevalent in automated driving software. about 30% of code lines are involved in code clones and more than 50% of files contain code clones. Moreover, a notable portion of these code clones has caused bugs and co-modifications. Due to the high complexity of autonomous driving, the automated driving software is often designed to be modular, with each module responsible for a single task. When considering each module individually, we have found that Perception, Planning, Canbus, and Sensing modules are more likely to encounter code clones, and more likely to have bug-prone and co-modified clones. Finally, we have shown that there exist cross-module clones to propagate bugs and co-modifications in different modules, which undermine the software's modularity.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{MoJZWL23,
  title = {A Comprehensive Study on Code Clones in Automated Driving Software},
  author = {Ran Mo and Yingjie Jiang and Wenjing Zhan and Dongyu Wang and Zengyang Li},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00053}
}