{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,12,29]],"date-time":"2022-12-29T05:59:25Z","timestamp":1672293565869},"reference-count":22,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2021,7]]},"abstract":"<jats:p>We will demonstrate a prototype of sqlcheck, a holistic toolchain for automatically finding and fixing anti-patterns in database applications. The advent of modern database-as-a-service platforms has made it easy for developers to quickly create scalable applications. However, it is still challenging for developers to design performant, maintainable, and accurate applications. This is because 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.<\/jats:p>\n          <jats:p>sqlcheck leverages techniques for automatically: (1) detecting anti-patterns with high accuracy, (2) ranking them 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 will demonstrate that sqlcheck enables developers to create more performant, maintainable, and accurate applications. We will show the prevalence of these anti-patterns in a large collection of queries and databases collected from open-source repositories.<\/jats:p>","DOI":"10.14778\/3476311.3476343","type":"journal-article","created":{"date-parts":[[2021,10,28]],"date-time":"2021-10-28T22:48:43Z","timestamp":1635461323000},"page":"2779-2782","source":"Crossref","is-referenced-by-count":0,"title":["Interactive demonstration of SQLCheck"],"prefix":"10.14778","volume":"14","author":[{"given":"Arthita","family":"Ghosh","sequence":"first","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Deven","family":"Bansod","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}]},{"given":"Arpit","family":"Narechania","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Prashanth","family":"Dintyala","sequence":"additional","affiliation":[{"name":"NVIDIA Corporation"}]},{"given":"Su","family":"Timurturkan","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Joy","family":"Arulraj","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]}],"member":"320","published-online":{"date-parts":[[2021,10,28]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Myers","author":"Cheung Alvin","year":"2013"},{"key":"e_1_2_1_2_1","first-page":"48","article-title":"Using Program Analysis to Improve Database Applications","volume":"37","author":"Cheung Alvin","year":"2014","journal-title":"IEEE Data Eng. Bull."},{"key":"e_1_2_1_3_1","volume-title":"Raluca Ada Popa, Nirmesh Malviya, Eugene Wu, Sam Madden, Hari Balakrishnan, and Nickolai Zeldovich.","author":"Curino Carlo","year":"2011"},{"key":"e_1_2_1_4_1","volume-title":"Data scientist. Harvard business review 90, 5","author":"Davenport Thomas H","year":"2012"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389754"},{"key":"e_1_2_1_6_1","unstructured":"Georgia Tech Database Group. 2021. SQLCheck Demo. http:\/\/db-apps.cc.gatech.edu\/sqlcheck\/playground.  Georgia Tech Database Group. 2021. SQLCheck Demo. http:\/\/db-apps.cc.gatech.edu\/sqlcheck\/playground."},{"key":"e_1_2_1_7_1","unstructured":"Cunningham & Cunningham Inc. 2014. C2 Wiki. http:\/\/wiki.c2.com\/?AntiPatternsCatalog.  Cunningham & Cunningham Inc. 2014. C2 Wiki. http:\/\/wiki.c2.com\/?AntiPatternsCatalog."},{"key":"e_1_2_1_8_1","unstructured":"Facebook Inc. 2019. ReactJS. https:\/\/reactjs.org.  Facebook Inc. 2019. ReactJS. https:\/\/reactjs.org."},{"key":"e_1_2_1_9_1","unstructured":"Stitch Inc. 2018. The State of Data Science. https:\/\/www.stitchdata.com\/resources\/the-state-of-data-science\/.  Stitch Inc. 2018. The State of Data Science. https:\/\/www.stitchdata.com\/resources\/the-state-of-data-science\/."},{"key":"e_1_2_1_10_1","unstructured":"Stack Exchange Inc. 2010. StackOverflow Wiki. https:\/\/stackoverflow.com\/questions\/346659\/what-are-the-most-common-sql-anti-patterns.  Stack Exchange Inc. 2010. StackOverflow Wiki. https:\/\/stackoverflow.com\/questions\/346659\/what-are-the-most-common-sql-anti-patterns."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/1875362"},{"key":"e_1_2_1_12_1","volume-title":"Unbundling transaction services in the cloud. arXiv preprint arXiv:0909.1768","author":"Lomet David","year":"2009"},{"key":"e_1_2_1_13_1","unstructured":"Pallets. 2019. Python-Flask. http:\/\/flask.palletsprojects.com\/en\/1.1.x.  Pallets. 2019. Python-Flask. http:\/\/flask.palletsprojects.com\/en\/1.1.x."},{"key":"e_1_2_1_14_1","unstructured":"Python Software Foundation. 2019. Python. https:\/\/www.python.org.  Python Software Foundation. 2019. Python. https:\/\/www.python.org."},{"key":"e_1_2_1_15_1","unstructured":"Python Software Foundation. 2019. PyPi. https:\/\/pypi.org.  Python Software Foundation. 2019. PyPi. https:\/\/pypi.org."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2014.2334302"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/560733"},{"key":"e_1_2_1_18_1","volume-title":"Beautiful data: the stories behind elegant data solutions. \"O'Reilly Media","author":"Segaran Toby"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183519.3183529"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2016.09.009"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.14778\/2876473.2876479"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180194"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3476311.3476343","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:30:15Z","timestamp":1672227015000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3476311.3476343"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,7]]},"references-count":22,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2021,7]]}},"alternative-id":["10.14778\/3476311.3476343"],"URL":"https:\/\/doi.org\/10.14778\/3476311.3476343","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2021,7]]}}}