Automated detection of inter-language design smells in multi-language deep learning frameworks

被引:0
|
作者
Li, Zengyang [1 ,2 ]
Zhang, Xiaoyong [1 ,2 ]
Wang, Wenshuo [1 ,2 ]
Liang, Peng [3 ]
Mo, Ran [1 ,2 ]
Tan, Jie [4 ]
Liu, Hui [5 ]
机构
[1] Cent China Normal Univ, Sch Comp Sci, Wuhan, Peoples R China
[2] Cent China Normal Univ, Hubei Prov Key Lab Artificial Intelligence & Smart, Wuhan, Peoples R China
[3] Wuhan Univ, Sch Comp Sci, Wuhan, Peoples R China
[4] Intelligent Game & Decis Lab, Beijing, Peoples R China
[5] Huazhong Univ Sci & Technol, Sch Artificial Intelligence & Automation, Wuhan, Peoples R China
关键词
Inter-language design smell; Deep learning framework; Design smell detection; Multi-language software system;
D O I
10.1016/j.infsof.2024.107656
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Nowadays, most deep learning frameworks (DLFs) use multilingual programming of Python and C/C++, facilitating the flexibility and performance of the DLF. However, inappropriate inter-language interaction may introduce design smells involving multiple programming languages (PLs), i.e., Inter-Language Design Smells (ILDS). Despite the negative impact of ILDS on multi-language DLFs, there is a lack of an automated approach for detecting ILDS in multi-language DLFs and a comprehensive understanding on ILDS in such DLFs. Objective: This work aims to automatically detect ILDS in multi-language DLFs written in the combination of Python and C/C++, and to obtain a comprehensive understanding on such ILDS in DLFs. Methods: We first developed an approach to automatically detecting ILDS in the multi-language DLFs written in the combination of Python and C/C++, including a number of ILDS and their detection rules defined based on inter-language communication mechanisms and code analysis. Then, we developed the CPSMELL tool that implements detection rules for automatically detecting such ILDS, and manually validated the accuracy of the tool. Finally, we performed an empirical study to evaluate the ILDS in multi-language DLFs. Results: We proposed seven ILDS and achieved an accuracy of 98.17% in the manual validation of CPSMELL in 5 popular multi-language DLFs. The study results revealed that among the 5 DLFs, TensorFlow, PyTorch, and PaddlePaddle exhibit relatively high prevalence of ILDS; each smelly file contains around 5 ILDS instances on average, with ILDS Long Lambda Function For Inter-language Binding and Unused Native Entity being relatively prominent; throughout the evolution process of the 5 DLFs, some ILDS were resolved to a certain extent, but the overall count of ILDS instances shows an upward trend. Conclusions: The automated detection of the proposed ILDS achieved a high accuracy, and the empirical study provides a comprehensive understanding on ILDS in the multi-language DLFs.
引用
收藏
页数:14
相关论文
共 50 条
  • [21] The design space of multi-language development environments
    Rolf-Helge Pfeiffer
    Andrzej Wąsowski
    Software & Systems Modeling, 2015, 14 : 383 - 411
  • [22] How to build multi-language learning environments
    Angelini, Cinzia
    CADMO, 2010, 18 (01): : 112 - 114
  • [23] HYBRID METHOD TO DESIGN MULTI-LANGUAGE WEB SITES
    Bizoi, Mihai
    Suduc, Ana-Maria
    Gorghiu, Gabriel
    CSEDU 2009: PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED EDUCATION, VOL I, 2009, : 427 - 430
  • [24] Multi-language IoT Information Security Standard Item Matching based on Deep Learning
    Wei, Yu-Chi
    Chang, Yu-Chun
    Wu, Wei-Chen
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2024, 21 (02) : 663 - 683
  • [25] Identifying feature interactions in multi-language aspect-oriented frameworks
    Kojarski, Sergei
    Lorenz, David H.
    ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 147 - +
  • [26] RefDiff 2.0: A Multi-Language Refactoring Detection Tool
    Silva, Danilo
    da Silva, Joao Paulo
    Santos, Gustavo
    Terra, Ricardo
    Valente, Marco Tulio
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (12) : 2786 - 2802
  • [27] Towards automated content analysis of educational feedback: A multi-language study
    Osakwe I.
    Chen G.
    Whitelock-Wainwright A.
    Gašević D.
    Pinheiro Cavalcanti A.
    Ferreira Mello R.
    Computers and Education: Artificial Intelligence, 2022, 3
  • [28] AST-based Multi-language Plagiarism Detection Method
    Zhang, Li Ping
    Liu, Dong Sheng
    PROCEEDINGS OF 2013 IEEE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2012, : 738 - 742
  • [29] Automated Multi-Language Artifact Binding and Rename Refactoring between Java']Java and DSLs Used by Java']Java Frameworks
    Mayer, Philip
    Schroeder, Andreas
    ECOOP 2014 - OBJECT-ORIENTED PROGRAMMING, 2014, 8586 : 437 - 462
  • [30] Design of Embedded Multi-language Lattice Font Based on QT
    Huang, Jian
    Zhao, Qian
    Wu, YanHai
    PROCEEDINGS 2013 INTERNATIONAL CONFERENCE ON MECHATRONIC SCIENCES, ELECTRIC ENGINEERING AND COMPUTER (MEC), 2013, : 2252 - 2255