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
来源
2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE | 2023年
基金
中国国家自然科学基金;
关键词
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
相关论文
共 47 条
  • [21] Implementation of Analytical Hierarchy Process in Detecting Structural Code Clones
    Aktas, Mehmet S.
    Kapdan, Mustafa
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2017, PT V, 2017, 10408 : 652 - 664
  • [22] Multilingual Detection of Code Clones Using ANTLR Grammar Definitions
    Semura, Yuichi
    Yoshida, Norihiro
    Choi, Eunjong
    Inoue, Katsuro
    2018 25TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2018), 2018, : 673 - 677
  • [23] Problematic Code Clones Identification using Multiple Detection Results
    Higo, Yoshiki
    Sawa, Ken-ichi
    Kusumoto, Shinji
    APSEC 09: SIXTEENTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2009, : 365 - 372
  • [24] Method of Searching for Clones of the Program Code in Binary Executive Files
    E. V. Zavadskii
    A. V. Bulat
    N. A. Gribkov
    Automatic Control and Computer Sciences, 2024, 58 (8) : 1263 - 1270
  • [25] An empirical study of code reuse between GitHub and stack overflow during software development
    Chen, Xiangping
    Xu, Furen
    Huang, Yuan
    Zhou, Xiaocong
    Zheng, Zibin
    JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 210
  • [26] Investigating Vector-based Detection of Code Clones Using BigCloneBench
    Yokoi, Kazuki
    Choi, Eunjong
    Yoshida, Norihiro
    Inoue, Katsuro
    2018 25TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2018), 2018, : 699 - 700
  • [27] Exploring and Understanding Cross-service Code Clones in Microservice Projects
    Zhao, Yang
    Mo, Ran
    Zhang, Yao
    Zhang, Siyuan
    Xiong, Pu
    30TH IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2022), 2022, : 449 - 459
  • [28] Clone Notifier: Developing and Improving the System to Notify Changes of Code Clones
    Tokui, Shogo
    Yoshida, Norihiro
    Choi, Eunjong
    Inoue, Katsuro
    PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 642 - 646
  • [29] Changes of Evaluation Values on Component Rank Model by Taking Code Clones into Consideration
    Yokomori, Reishi
    Yoshida, Norihiro
    Noro, Masami
    Inoue, Katsuro
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2018, E101D (01): : 130 - 141
  • [30] How Slim Will My System Be? Estimating Refactored Code Size by Merging Clones
    Yoshida, Norihiro
    Ishizu, Takuya
    Edwards, Bufurod, III
    Inoue, Katsuro
    2018 IEEE/ACM 26TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2018), 2018, : 352 - 360