{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,3]],"date-time":"2025-05-03T19:43:35Z","timestamp":1746301415531},"reference-count":9,"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>The emergence of Hive greatly facilitates the management of massive data stored in various places. Meanwhile, data scientists face challenges during HiveQL programming - they may not use correct and\/or efficient HiveQL statements in their programs; developers may also introduce anti-patterns indeliberately into HiveQL programs, leading to poor performance, low maintainability, and\/or program crashes. This paper presents an empirical study on HiveQL programming, in which 38 HiveQL anti-patterns are revealed. We then design and implement DeFiHap, the first tool for automatically detecting and fixing HiveQL anti-patterns. DeFiHap detects HiveQL anti-patterns via analyzing the abstract syntax trees of HiveQL statements and Hive configurations, and generates fix suggestions by rule-based rewriting and performance tuning techniques. The experimental results show that DeFiHap is effective. In particular, DeFiHap detects 25 anti-patterns and generates fix suggestions for 17 of them.<\/jats:p>","DOI":"10.14778\/3476311.3476316","type":"journal-article","created":{"date-parts":[[2021,10,28]],"date-time":"2021-10-28T22:48:43Z","timestamp":1635461323000},"page":"2671-2674","source":"Crossref","is-referenced-by-count":4,"title":["DeFiHap"],"prefix":"10.14778","volume":"14","author":[{"given":"Yuetian","family":"Mao","sequence":"first","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shuai","family":"Yuan","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nan","family":"Cui","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tianjiao","family":"Du","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Beijun","family":"Shen","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuting","family":"Chen","sequence":"additional","affiliation":[{"name":"Shanghai Jiao Tong University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,10,28]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2018. https:\/\/www.stitchdata.com\/resources\/the-state-of-data-science\/.  2018. https:\/\/www.stitchdata.com\/resources\/the-state-of-data-science\/."},{"key":"e_1_2_1_2_1","unstructured":"2020. https:\/\/data.stackexchange.com\/stackoverflow\/query\/new.  2020. https:\/\/data.stackexchange.com\/stackoverflow\/query\/new."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3389754"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2006.5.6.c4"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2015.7321194"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/2543981"},{"key":"e_1_2_1_7_1","doi-asserted-by":"crossref","unstructured":"C. Nagy and A. Cleve. 2017. A static code smell detector for SQL queries embedded in Java code. In SCAM. 147--152.  C. Nagy and A. Cleve. 2017. A static code smell detector for SQL queries embedded in Java code. In SCAM . 147--152.","DOI":"10.1109\/SCAM.2017.19"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.799955"},{"key":"e_1_2_1_9_1","doi-asserted-by":"crossref","unstructured":"A. Thusoo J. S. Sarma N. Jain Z. Shao P. Chakka N. Zhang S. Antony H. Liu and R. Murthy. 2010. Hive-a petabyte scale data warehouse using hadoop. In IEEE ICDE. 996--1005.  A. Thusoo J. S. Sarma N. Jain Z. Shao P. Chakka N. Zhang S. Antony H. Liu and R. Murthy. 2010. Hive-a petabyte scale data warehouse using hadoop. In IEEE ICDE . 996--1005.","DOI":"10.1109\/ICDE.2010.5447738"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3476311.3476316","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:26:54Z","timestamp":1672226814000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3476311.3476316"}},"subtitle":["detecting and fixing HiveQL anti-patterns"],"short-title":[],"issued":{"date-parts":[[2021,7]]},"references-count":9,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2021,7]]}},"alternative-id":["10.14778\/3476311.3476316"],"URL":"https:\/\/doi.org\/10.14778\/3476311.3476316","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2021,7]]}}}