{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,8]],"date-time":"2026-03-08T16:39:08Z","timestamp":1772987948660,"version":"3.50.1"},"reference-count":58,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2016,11,21]],"date-time":"2016-11-21T00:00:00Z","timestamp":1479686400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100012166","name":"973 program","doi-asserted-by":"crossref","award":["2014CB340405"],"award-info":[{"award-number":["2014CB340405"]}],"id":[{"id":"10.13039\/501100012166","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Beijing Natural Science Foundation","award":["4152023"],"award-info":[{"award-number":["4152023"]}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["61572039 and 61272155"],"award-info":[{"award-number":["61572039 and 61272155"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Shenzhen Gov Research Project","award":["JCYJ20151014093505032"],"award-info":[{"award-number":["JCYJ20151014093505032"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Database Syst."],"published-print":{"date-parts":[[2017,3,31]]},"abstract":"<jats:p>Instead of constructing complex declarative queries, many users prefer to write their programs using procedural code embedded with simple queries. Since many users are not expert programmers or the programs are written in a rush, these programs usually exhibit poor performance in practice and it is a challenge to automatically and efficiently optimize these programs.<\/jats:p>\n          <jats:p>\n            In this article, we present UniAD, which stands for\n            <jats:italic>Uni<\/jats:italic>\n            fied execution for\n            <jats:italic>Ad<\/jats:italic>\n            hoc Data processing, a system designed to simplify the programming of data processing tasks and provide efficient execution for user programs. We provide the background of program semantics and propose a novel intermediate representation, called Unified Intermediate Representation (UniIR), which utilizes a simple and expressive mechanism HOQ to describe the operations performed in programs. By combining both procedural and declarative logics with the proposed intermediate representation, we can perform various optimizations across the boundary between procedural and declarative code. We propose a transformation-based optimizer to automatically optimize programs and implement the UniAD system. The extensive experimental results on various benchmarks demonstrate that our techniques can significantly improve the performance of a wide range of data processing programs.\n          <\/jats:p>","DOI":"10.1145\/3009957","type":"journal-article","created":{"date-parts":[[2016,11,21]],"date-time":"2016-11-21T14:01:46Z","timestamp":1479736906000},"page":"1-42","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["UniAD"],"prefix":"10.1145","volume":"42","author":[{"given":"Xiaogang","family":"Shi","sequence":"first","affiliation":[{"name":"Peking University, Beijing, China"}]},{"given":"Bin","family":"Cui","sequence":"additional","affiliation":[{"name":"Peking University, Beijing, China"}]},{"given":"Gillian","family":"Dobbie","sequence":"additional","affiliation":[{"name":"University of Auckland, Auckland, New Zealand"}]},{"given":"Beng Chin","family":"Ooi","sequence":"additional","affiliation":[{"name":"National University of Singapore, Computing Drive, Singapore"}]}],"member":"320","published-online":{"date-parts":[[2016,11,21]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Foundations of Databases: The Logical Level","author":"Abiteboul Serge","unstructured":"Serge Abiteboul , Richard Hull , and Victor Vianu . 1995. Foundations of Databases: The Logical Level . Addison-Wesley Longman Publishing Co. , Boston, MA . Serge Abiteboul, Richard Hull, and Victor Vianu. 1995. Foundations of Databases: The Logical Level. Addison-Wesley Longman Publishing Co., Boston, MA."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.14778\/2336664.2336670"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/320455.320457"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 2012 Conference on Theory and Practice of Information Technologies (ITAT\u201912)","author":"Bedn\u00e1rek David","year":"2012","unstructured":"David Bedn\u00e1rek . 2012 . Effective datalog-like representation of procedural programs . In Proceedings of the 2012 Conference on Theory and Practice of Information Technologies (ITAT\u201912) . CEUR-WS.org, Aachen, Germany, 9--16. David Bedn\u00e1rek. 2012. Effective datalog-like representation of procedural programs. In Proceedings of the 2012 Conference on Theory and Practice of Information Technologies (ITAT\u201912). CEUR-WS.org, Aachen, Germany, 9--16."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of 3rd International Workshop on Database Programming Languages (DBPL-3\u201992)","author":"Breazu-Tannen Val","year":"1992","unstructured":"Val Breazu-Tannen , Peter Buneman , and Shamim Naqvi . 1992 . Structural recursion as a query language . In Proceedings of 3rd International Workshop on Database Programming Languages (DBPL-3\u201992) . Morgan Kaufmann, San Francisco, CA, 9--19. Val Breazu-Tannen, Peter Buneman, and Shamim Naqvi. 1992. Structural recursion as a query language. In Proceedings of 3rd International Workshop on Database Programming Languages (DBPL-3\u201992). Morgan Kaufmann, San Francisco, CA, 9--19."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2011.5767870"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2014.2326659"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.14778\/2350229.2350262"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462180"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807221"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/130283.130341"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/s41019-015-0002-9"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1093\/nsr\/nwt020"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463710"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732240.2732246"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/648290.754348"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/377674.377676"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/645913.671453"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.14778\/2095686.2095694"},{"key":"e_1_2_1_21_1","unstructured":"Google. 2011. LevelDB. Retrieved from https:\/\/code.google.com\/p\/leveldb\/.  Google. 2011. LevelDB. Retrieved from https:\/\/code.google.com\/p\/leveldb\/."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/60295.60331"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/645478.757691"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.14778\/1453856.1453975"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755939"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14778\/1978665.1978670"},{"key":"e_1_2_1_27_1","volume-title":"Allen","author":"Kennedy Ken","year":"2002","unstructured":"Ken Kennedy and John R . Allen . 2002 . Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann , San Francisco, CA. Ken Kennedy and John R. Allen. 2002. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann, San Francisco, CA."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732959"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2010.5447892"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2007.07.001"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2503009"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/130283.130301"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/101620.101642"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993513"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732977.2732984"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/111197.111212"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.14778\/2002938.2002940"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376726"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511811326"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213852"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2006.40"},{"key":"e_1_2_1_43_1","volume-title":"Programming Collective Intelligence. O\u2019Reilly","author":"Segaran Toby","unstructured":"Toby Segaran . 2007. Programming Collective Intelligence. O\u2019Reilly , Sebastopol, CA , 77 pages. Toby Segaran. 2007. Programming Collective Intelligence. O\u2019Reilly, Sebastopol, CA, 77 pages."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/42201.42203"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2588555.2610492"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882950"},{"key":"e_1_2_1_47_1","unstructured":"Michael Stonebraker and Andy Pavlo. 2009. SEATS benchmark. http:\/\/hstore.cs.brown.edu\/projects\/seats\/.  Michael Stonebraker and Andy Pavlo. 2009. SEATS benchmark. http:\/\/hstore.cs.brown.edu\/projects\/seats\/."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687553.1687609"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176617.1176700"},{"key":"e_1_2_1_50_1","unstructured":"TPC. 2010a. TPC-C benchmark. Retrieved from http:\/\/www.tpc.org\/tpcc\/.  TPC. 2010a. TPC-C benchmark. Retrieved from http:\/\/www.tpc.org\/tpcc\/."},{"key":"e_1_2_1_51_1","unstructured":"TPC. 2010b. TPC-E benchmark. Retrieved from http:\/\/www.tpc.org\/tpce\/.  TPC. 2010b. TPC-E benchmark. Retrieved from http:\/\/www.tpc.org\/tpce\/."},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of 3rd International Workshop on Database Programming Languages (DBPL-3\u201991)","author":"Trinder Philip W.","year":"1991","unstructured":"Philip W. Trinder . 1991 . Comprehensions, a query notation for DBPLs . In Proceedings of 3rd International Workshop on Database Programming Languages (DBPL-3\u201991) . Morgan Kaufmann, San Francisco, CA, 55--68. Philip W. Trinder. 1991. Comprehensions, a query notation for DBPLs. In Proceedings of 3rd International Workshop on Database Programming Languages (DBPL-3\u201991). Morgan Kaufmann, San Francisco, CA, 55--68."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91592"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190216.1190248"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449767"},{"key":"e_1_2_1_56_1","volume-title":"The Formal Semantics of Programming Languages: An Introduction","author":"Winskel Glynn","unstructured":"Glynn Winskel . 1993. The Formal Semantics of Programming Languages: An Introduction . MIT Press , Cambridge, MA . Glynn Winskel. 1993. The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge, MA."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2015.2427795"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1007\/11731139_75"}],"container-title":["ACM Transactions on Database Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3009957","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3009957","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:05:35Z","timestamp":1750273535000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3009957"}},"subtitle":["A Unified Ad Hoc Data Processing System"],"short-title":[],"issued":{"date-parts":[[2016,11,21]]},"references-count":58,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,3,31]]}},"alternative-id":["10.1145\/3009957"],"URL":"https:\/\/doi.org\/10.1145\/3009957","relation":{},"ISSN":["0362-5915","1557-4644"],"issn-type":[{"value":"0362-5915","type":"print"},{"value":"1557-4644","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,11,21]]},"assertion":[{"value":"2014-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-11-21","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}