On the Prevalence, Impact, and Evolution of SQL Code Smells in Data-Intensive Systems

被引:29
作者
Asmare, Biruk Muse [1 ]
Rahman, Mohammad Masudur [1 ]
Nagy, Csaba [2 ]
Cleve, Anthony [3 ]
Khomh, Foutse [1 ]
Antoniol, Giuliano [1 ]
机构
[1] Polytech Montreal, Montreal, PQ, Canada
[2] Univ Svizzera Italiana, Software Inst, Lugano, Switzerland
[3] Univ Namur, Namur Digital Inst, Namur, Belgium
来源
2020 IEEE/ACM 17TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR | 2020年
基金
加拿大自然科学与工程研究理事会;
关键词
Code smells; database access; SQL code smells; data-intensive systems; SOFTWARE CHANGES; BAD;
D O I
10.1145/3379597.3387467
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code smells indicate software design problems that harm software quality. Data-intensive systems that frequently access databases often suffer from SQL code smells besides the traditional smells. While there have been extensive studies on traditional code smells, recently, there has been a growing interest in SQL code smells. In this paper, we conduct an empirical study to investigate the prevalence and evolution of SQL code smells in open-source, data-intensive systems. We collected 150 projects and examined both traditional and SQL code smells in these projects. Our investigation delivers several important findings. First, SQL code smells are indeed prevalent in data-intensive software systems. Second, SQL code smells have a weak co-occurrence with traditional code smells. Third, SQL code smells have a weaker association with bugs than that of traditional code smells. Fourth, SQL code smells are more likely to be introduced at the beginning of the project lifetime and likely to be left in the code without a fix, compared to traditional code smells. Overall, our results show that SQL code smells are indeed prevalent and persistent in the studied data-intensive software systems. Developers should be aware of these smells and consider detecting and refactoring SQL code smells and traditional code smells separately, using dedicated tools.
引用
收藏
页码:327 / 338
页数:12
相关论文
共 63 条
[1]  
Agarwal R., 2017, Int. J. Data Netw. Sci., V1, P11
[2]  
Agrawal R., 1993, SIGMOD Record, V22, P207, DOI 10.1145/170036.170072
[3]  
Agrawal R., 1994, P VLDB ENDOWMENT, P487
[4]  
AlZu'bi S, 2018, 2018 FIFTH INTERNATIONAL CONFERENCE ON SOCIAL NETWORKS ANALYSIS, MANAGEMENT AND SECURITY (SNAMS), P323, DOI 10.1109/SNAMS.2018.8554909
[5]   Code smells for Model-View-Controller architectures [J].
Aniche, Mauricio ;
Bavota, Gabriele ;
Treude, Christoph ;
Gerosa, Marco Aurelio ;
van Deursen, Arie .
EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (04) :2121-2157
[6]  
[Anonymous], 2011, P 2 WORKSH MAN TECHN, DOI DOI 10.1145/1985362.1985366
[7]  
[Anonymous], 1996, Object-oriented design heuristics
[8]  
[Anonymous], 2010, THESIS U MACEDONIA
[9]  
Antoniol G., 2008, P 2008 C CTR ADV STU
[10]   Cleaning Antipatterns in an SQL Query Log [J].
Arzamasova, Natalia ;
Schaeler, Martin ;
Bohm, Klemens .
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2018, 30 (03) :421-434