Survey on Code Smells

被引:0
作者
Tian Y.-C. [1 ]
Li K.-J. [1 ]
Wang T.-M. [1 ]
Jiao Q.-Q. [1 ]
Li G.-J. [2 ]
Zhang Y.-X. [1 ]
Liu H. [1 ]
机构
[1] School of Computer Science and Technology, Beijing Institute of Technology, Beijing
[2] Management Department of Collaborative Innovation, National Innovation Institute of Defense Technology, Academy of Military Sciences, Beijing
来源
Ruan Jian Xue Bao/Journal of Software | 2023年 / 34卷 / 01期
关键词
code smells; defect; metric; software quality; software refactoring;
D O I
10.13328/j.cnki.jos.006431
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Code smells are low-quality code snippets that are in urgent need of refactoring. Code smell is a research hotspot in software engineering, with many related research topics, large time span, and rich research results. To sort out the relevant research approach and results, analyze the research hotspots, and predict the future research directions, this study systematically analyzes and classifies 339 papers related to code smell published from 1990 to June 2020. The development trend of code smells is analyzed and counted, the mainstream and hot spots of related research are quantitatively revealed, the key code smells concerned by the academia are identified, and also the differences of concerns between industry and academia are studied. © 2023 Chinese Academy of Sciences. All rights reserved.
引用
收藏
页码:150 / 170
页数:20
相关论文
共 139 条
[1]  
Fowler M, Beck K., Refactoring: Improving the Design of Existing Code, (1999)
[2]  
van Emden E, Moonen L., Java quality assurance by detecting code smells, Proc. of the 9th Working Conf. on Reverse Engineering, pp. 97-106, (2002)
[3]  
Moha N, Gueheneuc YG, Duchien L, Le Meur AF., DECOR: A method for the specification and detection of code and design smells, IEEE Trans. on Software Engineering, 36, 1, pp. 20-36, (2010)
[4]  
Liu H, Xu ZF, Zou YZ., Deep learning based feature envy detection, Proc. of the 33rd IEEE/ACM Int’l Conf. on Automated Software Engineering, pp. 385-396, (2018)
[5]  
Ouni A, Kessentini M, Sahraoui H, Inoue K, Deb K., Multi-criteria code refactoring using search-based software engineering: An industrial case study, ACM Trans. on Software Engineering and Methodology, 25, 3, (2016)
[6]  
Vidal S, Berra I, Zulliani S, Marcos C, Pace JAD., Assessing the refactoring of brain methods, ACM Trans. on Software Engineering and Methodology, 27, 1, (2018)
[7]  
Fard AM, Mesbah A., JSNOSE: Detecting JavaScript code smells, Proc. of the 13th IEEE Int’l Working Conf. on Source Code Analysis and Manipulation, pp. 116-125, (2013)
[8]  
Fakhoury S, Arnaoudova V, Noiseux C, Khomh F, Antoniol G., Keep it simple: Is deep learning good for linguistic smell detection?, Proc. of the 25th IEEE Int’l Conf. on Software Analysis, Evolution and Reengineering, pp. 602-611, (2018)
[9]  
Bu YF, Liu H, Li GJ., God class detection approach based on deep learning, Ruan Jian Xue Bao/Journal of Software, 30, 5, pp. 1359-1374, (2019)
[10]  
Amorim L, Costa E, Antunes N, Fonseca B, Ribeiro M., Experience report: Evaluating the effectiveness of decision trees for detecting code smells, Proc. of the 26th IEEE Int’l Symp. on Software Reliability Engineering, pp. 261-269, (2015)