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

01/06/2022
by   Biruk Asmare Muse, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/07/2022

Do Developers Refactor Data Access Code? An Empirical Study

Developers often refactor code to improve the maintainability and compre...
research
01/24/2023

Studying the Characteristics of SQL-related Development Tasks: An Empirical Study

A key function of a software system is its ability to facilitate the man...
research
06/01/2022

Technical Debts and Faults in Open-source Quantum Software Systems: An Empirical Study

Quantum computing is a rapidly growing field attracting the interest of ...
research
01/06/2022

FIXME: Synchronize with Database An Empirical Study of Data Access Self-Admitted Technical Debt

Developers sometimes choose design and implementation shortcuts due to t...
research
08/29/2023

Natural language to SQL in low-code platforms

One of the developers' biggest challenges in low-code platforms is retri...
research
08/29/2023

Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation

Large language models (LLMs) have emerged as a new paradigm for Text-to-...
research
08/11/2020

High-concurrency Custom-build Relational Database System's design and SQL parser design based on Turing-complete automata

Database system is an indispensable part of software projects. It plays ...

Please sign up or login with your details

Forgot password? Click here to reset