SQLCheck: Automated Detection and Diagnosis of SQL Anti-Patterns
Prashanth Dintyala, Arpit Narechania, Joy Arulraj
摘要
The emergence of database-as-a-service platforms has made deploying database applications easier than before. Now, developers can quickly create scalable applications. However, designing performant, maintainable, and accurate applications is challenging. Developers may unknowingly introduce anti-patterns in the application's SQL statements. These anti-patterns are design decisions that are intended to solve a problem, but often lead to other problems by violating fundamental design principles.
In this paper, we present sqlcheck, a holistic toolchain for automatically finding and fixing anti-patterns in database applications. We introduce techniques for automatically (1) detecting anti-patterns with high precision and recall, (2) ranking the anti-patterns based on their impact on performance, maintainability, and accuracy of applications, and (3) suggesting alternative queries and changes to the database design to fix these anti-patterns. We demonstrate the prevalence of these anti-patterns in a large collection of queries and databases collected from open-source repositories. We introduce an anti-pattern detection algorithm that augments query analysis with data analysis. We present a ranking model for characterizing the impact of frequently occurring anti-patterns. We discuss how sqlcheck suggests fixes for high-impact anti-patterns using rule-based query refactoring techniques. Our experiments demonstrate that sqlcheck enables developers to create more performant, maintainable, and accurate applications.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper7
- Fine-Grained Lineage for Safer Notebook InteractionsStephen Macke, Aditya G. Parameswaran, Hongpu Gong, Doris Jung Lin Lee 等VLDB 2021 · 被引用 46 次
- WeTune: Automatic Discovery and Verification of Query Rewrite RulesZhaoguo Wang, Zhou Zhou, Yicun Yang, Haoran Ding 等SIGMOD 2022 · 被引用 35 次
- LearnedSQLGen: Constraint-aware SQL Generation using Reinforcement LearningLixi Zhang, Chengliang Chai, Xuanhe Zhou, Guoliang LiSIGMOD 2022 · 被引用 26 次
- Proving Query Equivalence Using Linear Integer ArithmeticHaoran Ding, Zhaoguo Wang, Yicun Yang, Dexin Zhang 等SIGMOD 2024 · 被引用 20 次
- SlabCity: Whole-Query Optimization using Program SynthesisRui Dong, Jie Liu, Yuxuan Zhu, Cong Yan 等VLDB 2023 · 被引用 11 次
相关 Paper
- SAND: a static analysis approach for detecting SQL antipatternsYingjun Lyu, Sasha Volokh, William G. J. Halfond, Omer TrippISSTA 2021 · 被引用 13 次
- Managing data constraints in database-backed web applicationsJunwen Yang, Utsav Sethi, Cong Yan, Alvin Cheung 等ICSE 2020 · 被引用 9 次
- APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database SystemsJinho Jung, Hong Hu, Joy Arulraj, Taesoo Kim 等VLDB 2020 · 被引用 77 次
- Are Machine Learning Cloud APIs Used Correctly?Chengcheng Wan, Shicheng Liu, Henry Hoffmann, Michael Maire 等ICSE 2021 · 被引用 37 次
- Detecting Transactional Bugs in Database Engines via Graph-Based Oracle ConstructionZu-Ming Jiang, Si Liu, Manuel Rigger, Zhendong SuOSDI 2023 · 被引用 28 次
