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 条
  • [31] Security Misconfigurations in Open Source Kubernetes Manifests: An Empirical Study
    Rahman, Akond
    Shamim, Shazibul Islam
    Bose, Dibyendu Brinto
    Pandita, Rahul
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (04)
  • [32] The evolution of open-source mobile applications: An empirical study
    Li, Deguang
    Guo, Bing
    Shen, Yan
    Li, Junke
    Huang, Yanhui
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2017, 29 (07)
  • [33] On the evolution and impact of architectural smells—an industrial case study
    Darius Sas
    Paris Avgeriou
    Umut Uyumaz
    Empirical Software Engineering, 2022, 27
  • [34] A Preliminary Study on Using Code Smells to Improve Bug Localization
    Takahashi, Aoi
    Sae-Lim, Natthawute
    Hayashi, Shinpei
    Saeki, Motoshi
    2018 IEEE/ACM 26TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2018), 2018, : 324 - 327
  • [35] The relationship between design patterns and code smells: An exploratory study
    Walter, Bartosz
    Alkhaeir, Tarek
    INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 74 : 127 - 142
  • [36] A Quantitative Study on Characteristics and Effect of Batch Refactoring on Code Smells
    Bibiano, Ana Carla
    Fernandes, Eduardo
    Oliveira, Daniel
    Garcia, Alessandro
    Kalinowski, Marcos
    Fonseca, Baldoino
    Oliveira, Roberto
    Oliveira, Anderson
    Cedrim, Diego
    2019 13TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2019), 2019, : 31 - 41
  • [37] Refactoring Community Smells: An Empirical Study on the Software Practitioners of Bangladesh
    Tahsin, Noshin
    Sakib, Kazi
    2022 29TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC, 2022, : 422 - 426
  • [38] On the Nature of Issues in Five Open Source Microservices Systems: An Empirical Study
    Waseem, Muhammad
    Liang, Peng
    Shahin, Mojtaba
    Ahmad, Aakash
    Nassab, Ali Rezaei
    PROCEEDINGS OF EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING (EASE 2021), 2021, : 201 - 210
  • [39] Technical debt forecasting: An empirical study on open-source repositories
    Tsoukalas, Dimitrios
    Kehagias, Dionysios
    Siavvas, Miltiadis
    Chatzigeorgiou, Alexander
    JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 170
  • [40] An empirical study into the relationship between class features and test smells
    Tahir, Amjed
    Counsell, Steve
    MacDonell, Stephen G.
    2016 23RD ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2016), 2016, : 137 - 144