An Empirical Study on the Occurrences of Code Smells in Open Source and Industrial Projects

被引:2
|
作者
Rahman, Md. Masudur [1 ]
Satter, Abdus [1 ]
Joarder, Md. Mahbubul Alam [1 ]
Sakib, Kazi [1 ]
机构
[1] Univ Dhaka, Inst Informat Technol, Dhaka, Bangladesh
来源
PROCEEDINGS OF THE16TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, ESEM 2022 | 2022年
关键词
code smell; open source system; industrial system; empirical study;
D O I
10.1145/3544902.3546634
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Background: Reusing source code containing code smells can induce significant amount of maintenance time and cost. A list of code smells has been identified in the literature and developers are encouraged to avoid the smells from the very beginning while writing new code or reusing existing code, and it increases time and cost to identify and refactor the code after the development of a system. Again, remembering a long list of smells is difficult specially for the new developers. Besides, two different types of software development environment - open source and industry, might have an effect on the occurrences of code smells. Aims: A study on the occurrences of code smells in open source and industrial systems can provide insights about the most frequently occurring smells in each type of software system. The insights can make developers aware of the most frequent occurring smells, and researchers to focus on the improvement and innovation of automatic refactoring tools or techniques for the smells on priority basis. Method: We have conducted a study on 40 large scale Java systems, where 25 are open source and 15 are industrial systems, for 18 code smells. Results: The results show that 6 smells have not occurred in any system, and 12 smells have occurred 21,182 times in total where 60.66% in the open source systems and 39.34% in the industrial systems. Long Method, Complex Class and Long Parameter List have been seen as frequently occurring code smells. The one tailed t-test with 5% level of significant analysis has shown that there is no difference between the occurrences of 10 code smells in industrial and open source systems, and 2 smells are occurred more frequently in open source systems than industrial systems. Conclusions: Our findings conclude that all smells do not occur at the same frequency and some smells are very frequent. The short list of most frequently occurred smells can help developers to write or reuse source code carefully without inducing the smells from the beginning during software development. Our study also concludes that industry and open source environments do not have significant impact on the occurrences of code smells.
引用
收藏
页码:289 / 294
页数:6
相关论文
共 50 条
  • [41] Software Code Smells and Defects: An Empirical Investigation
    Brown, Reuben
    Greer, Des
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2023, 2023, : 570 - 580
  • [42] On the Co-evolution of ML Pipelines and Source Code - Empirical Study of DVC Projects
    Barrak, Amine
    Eghan, Ellis E.
    Adams, Bram
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2021), 2021, : 422 - 433
  • [43] Is Bytecode Instrumentation as Good as Source Code Instrumentation: An Empirical Study with Industrial Tools
    Li, Nan
    Meng, Xin
    Offutt, Jeff
    Deng, Lin
    2013 IEEE 24TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2013, : 380 - 389
  • [44] How to Explain a Patch: An Empirical Study of Patch Explanations in Open Source Projects
    Liang, Jingjing
    Hou, Yaozong
    Zhou, Shurui
    Chen, Junjie
    Xiong, Yingfei
    Huang, Gang
    2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2019, : 58 - 69
  • [45] Empirical study on the usage of graph query languages in open source Java projects
    Seifer, Philipp
    Härtel, Johannes
    Leinberger, Martin
    Lämmel, Ralf
    Staab, Steffen
    SLE 2019 - Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2019, 2019, : 152 - 166
  • [46] Two level empirical study of logging statements in open source Java projects
    Lal, Sangeeta
    Sardana, Neetu
    Sureka, Ashish
    International Journal of Open Source Software and Processes, 2015, 6 (01) : 49 - 73
  • [47] On the abandonment and survival of open source projects: An empirical investigation
    Avelino, Guilherme
    Constantinou, Eleni
    Valente, Marco Tulio
    Serebrenik, Alexander
    2019 13TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2019), 2019, : 328 - 339
  • [48] The Smelly Eight: An Empirical Study on the Prevalence of Code Smells in Quantum Computing
    Chen, Qihong
    Camara, Ruben
    Campos, Jose
    Souto, Andre
    Ahmed, Iftekhar
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 358 - 370
  • [49] Subjective evaluation of software evolvability using code smells: An empirical study
    Mika V. Mäntylä
    Casper Lassenius
    Empirical Software Engineering, 2006, 11 : 395 - 431
  • [50] Subjective evaluation of software evolvability using code smells:: An empirical study
    Mantyla, Mika V.
    Lassenius, Casper
    EMPIRICAL SOFTWARE ENGINEERING, 2006, 11 (03) : 395 - 431