A Comprehensive Study on Code Clones in Automated Driving Software

被引:1
|
作者
Mo, Ran [1 ]
Jiang, Yingjie
Zhan, Wenjing
Wang, Dongyu
Li, Zengyang
机构
[1] Cent China Normal Univ, Sch Comp Sci, Wuhan, Peoples R China
基金
中国国家自然科学基金;
关键词
Automated Driving Software; Code Clone; Co-modification; Bug-proneness; Software Modularity;
D O I
10.1109/ASE56229.2023.00053
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:1073 / 1085
页数:13
相关论文
共 50 条
  • [1] A Comparative Study of Software Bugs in Micro-clones and Regular Code Clones
    Islam, Judith F.
    Mondal, Manishankar
    Roy, Chanchal K.
    2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), 2019, : 73 - 83
  • [2] Refactoring Patterns Study in Code Clones during Software Evolution
    Kanwal, Jaweria
    Inoue, Katsuro
    Maqbool, Onaiza
    2017 IEEE 11TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES (IWSC), 2017, : 45 - 46
  • [3] Tracking code clones in evolving software
    Duala-Ekoko, Ekwa
    Robillard, Martin P.
    ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 158 - +
  • [4] Software analysis by code clones in open source software
    Uchida, S
    Kamiya, T
    Monden, A
    Matsumoto, KI
    Ohsugi, N
    Kudo, H
    JOURNAL OF COMPUTER INFORMATION SYSTEMS, 2005, 45 (03) : 1 - 11
  • [5] Software quality analysis by code clones in industrial legacy software
    Monden, A
    Nakae, D
    Kamiya, T
    Sato, S
    Matsumoto, K
    EIGHTH IEEE SYMPOSIUM ON SOFTWARE METRICS, PROCEEDINGS, 2002, : 87 - 94
  • [6] A comparative study of test code clones and production code clones?
    van Bladel, Brent
    Demeyer, Serge
    JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 176
  • [7] Code-Level Safety Verification for Automated Driving: A Case Study
    Nenchev, Vladislav
    Imrie, Calum
    Gerasimou, Simos
    Calinescu, Radu
    FORMAL METHODS, PT II, FM 2024, 2025, 14934 : 356 - 372
  • [8] Comprehensive Safety Concept for Automated Driving
    Weller, Gert, 1600, Springer Nature (122):
  • [9] SOFTWARE CODE AUTOMATED TEST SYSTEM
    CUDDEBACK, KL
    BELL, MH
    IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, 1985, 32 (10) : 872 - 872
  • [10] Method and implementation for investigating code clones in a software system
    Higo, Yoshiki
    Kamiya, Toshihiro
    Kusumoto, Shinji
    Inoue, Katsuro
    INFORMATION AND SOFTWARE TECHNOLOGY, 2007, 49 (9-10) : 985 - 998