{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T10:41:35Z","timestamp":1740134495003,"version":"3.37.3"},"reference-count":123,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2019,1,3]],"date-time":"2019-01-03T00:00:00Z","timestamp":1546473600000},"content-version":"vor","delay-in-days":429,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000006","name":"Office of Naval Research","doi-asserted-by":"crossref","award":["N00014-14-1-0549 and N00014-16-1-2913"],"id":[{"id":"10.13039\/100000006","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-1321179, CCF-1409829, CNS-1613023 and CNS-1703598"],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2017,10,31]]},"abstract":"The past decade has witnessed increasing demands on data-driven business intelligence that led to the proliferation of data-intensive applications. A managed object-oriented programming language such as Java is often the developer\u2019s choice for implementing such applications, due to its quick development cycle and rich suite of libraries and frameworks. While the use of such languages makes programming easier, their automated memory management comes at a cost. When the managed runtime meets large volumes of input data, memory bloat is significantly magnified and becomes a scalability-prohibiting bottleneck.<\/jats:p>\n \n This article first studies, analytically and empirically, the impact of bloat on the performance and scalability of large-scale, real-world data-intensive systems. To combat bloat, we design a novel compiler framework, called F\n acade<\/jats:sc>\n , that can generate highly efficient data manipulation code by automatically transforming the\n data path<\/jats:italic>\n of an existing data-intensive application. The key treatment is that in the generated code, the number of runtime heap objects created for data classes in each thread is (almost)\n statically bounded<\/jats:italic>\n , leading to significantly reduced memory management cost and improved scalability. We have implemented F\n acade<\/jats:sc>\n and used it to transform seven common applications on three real-world, already well-optimized data processing frameworks: GraphChi, Hyracks, and GPS. Our experimental results are very positive: the generated programs have (1) achieved a 3% to 48% execution time reduction and an up to 88\u00d7 GC time reduction, (2) consumed up to 50% less memory, and (3) scaled to much larger datasets.\n <\/jats:p>","DOI":"10.1145\/3162626","type":"journal-article","created":{"date-parts":[[2018,1,4]],"date-time":"2018-01-04T16:27:31Z","timestamp":1515083251000},"page":"1-41","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Understanding and Combating Memory Bloat in Managed Data-Intensive Systems"],"prefix":"10.1145","volume":"26","author":[{"given":"Khanh","family":"Nguyen","sequence":"first","affiliation":[{"name":"University of California, Irvine, CA"}]},{"given":"Kai","family":"Wang","sequence":"additional","affiliation":[{"name":"University of California, Irvine, CA"}]},{"given":"Yingyi","family":"Bu","sequence":"additional","affiliation":[{"name":"University of California, Irvine, CA"}]},{"given":"Lu","family":"Fang","sequence":"additional","affiliation":[{"name":"University of California, Irvine, CA"}]},{"given":"Guoqing","family":"Xu","sequence":"additional","affiliation":[{"name":"University of California, Irvine, CA"}]}],"member":"320","published-online":{"date-parts":[[2018,1,3]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1739041.1739056"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.14778\/1453856.1453960"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/207110.207137"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869519"},{"key":"e_1_2_1_5_1","unstructured":"Apache 2014a. Apache Flink. Retrieved from http:\/\/flink.apache.org\/. Apache 2014a. Apache Flink. Retrieved from http:\/\/flink.apache.org\/."},{"key":"e_1_2_1_6_1","unstructured":"Apache 2014b. Giraph: Open-source implementation of Pregel. Retrieved from http:\/\/incubator.apache.org\/giraph\/. Apache 2014b. Giraph: Open-source implementation of Pregel. Retrieved from http:\/\/incubator.apache.org\/giraph\/."},{"key":"e_1_2_1_7_1","unstructured":"Apache 2014c. Hadoop: Open-source implementation of MapReduce. Retrieved from http:\/\/hadoop.apache.org. Apache 2014c. Hadoop: Open-source implementation of MapReduce. Retrieved from http:\/\/hadoop.apache.org."},{"key":"e_1_2_1_8_1","unstructured":"Apache 2014d. The Hive Project. Retrieved from http:\/\/hive.apache.org\/. Apache 2014d. The Hive Project. Retrieved from http:\/\/hive.apache.org\/."},{"key":"e_1_2_1_9_1","unstructured":"Apache 2014e. The Mahout Project. Retrieved from http:\/\/mahout.apache.org\/. Apache 2014e. The Mahout Project. Retrieved from http:\/\/mahout.apache.org\/."},{"volume-title":"Zing: Java for the real time business.","year":"2014","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1075382.1075383"},{"volume-title":"USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201999)","author":"Banga Gaurav","key":"e_1_2_1_12_1"},{"volume-title":"International Conference on Embedded Software (EMSOFT\u201901)","author":"William","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375586"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320387"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2011.5767921"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781168"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491894.2466485"},{"key":"e_1_2_1_19_1","unstructured":"Cascading. 2015. The Cascading Ecosystem. Retrieved from http:\/\/www.cascading.org. Cascading. 2015. The Cascading Ecosystem. Retrieved from http:\/\/www.cascading.org."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.14778\/1454159.1454166"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806638"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320386"},{"key":"e_1_2_1_23_1","unstructured":"CMU. 2015. Out of memory error in efficient sharded positional indexer. Retrieved from http:\/\/www.cs.cmu.edu\/∼lezhao\/TA\/2010\/HW2\/. CMU. 2015. Out of memory error in efficient sharded positional indexer. Retrieved from http:\/\/www.cs.cmu.edu\/∼lezhao\/TA\/2010\/HW2\/."},{"volume-title":"USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201910)","year":"2010","author":"Condie Tyson","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","unstructured":"Cplusplus. 2015. Why is Java more popular than C++. Retrieved from http:\/\/www.cplusplus.com\/forum\/general\/79656\/. Cplusplus. 2015. Why is Java more popular than C++. Retrieved from http:\/\/www.cplusplus.com\/forum\/general\/79656\/."},{"key":"e_1_2_1_26_1","unstructured":"DataBricks. 2015. Project Tungsten. Retrieved from https:\/\/databricks.com\/blog\/2015\/04\/28\/project-tungsten-bringing-spark-closer-to-bare-metal.html. DataBricks. 2015. Project Tungsten. Retrieved from https:\/\/databricks.com\/blog\/2015\/04\/28\/project-tungsten-bringing-spark-closer-to-bare-metal.html."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920908"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349344"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1453101.1453111"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815407"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111037.1111039"},{"volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","year":"1995","author":"Gamma Erich","key":"e_1_2_1_33_1"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277748"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378815"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694361"},{"volume-title":"15th USENIX Workshop on Hot Topics in Operating Systems.","year":"2015","author":"Gog Ionel","key":"e_1_2_1_37_1"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/152610.152611"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512563"},{"volume-title":"USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201912)","year":"2012","author":"Guo Zhenyu","key":"e_1_2_1_40_1"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134024"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512547"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/1060289.1060325"},{"volume-title":"Conference on Innovative Data Systems Research (CIDR). 261--272","year":"2011","author":"Herodotou Herodotos","key":"e_1_2_1_44_1"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029883"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1272996.1273005"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/581630.581678"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772690.1772751"},{"volume-title":"USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201912)","year":"2012","author":"Kyrola Aapo","key":"e_1_2_1_49_1"},{"key":"e_1_2_1_50_1","unstructured":"Chris Lattner. 2005. Macroscopic Data Structure Analysis and Optimization. Ph.D. Dissertation. University of Illinois at Urbana-Champaign. Chris Lattner. 2005. Macroscopic Data Structure Analysis and Optimization. Ph.D. Dissertation. University of Illinois at Urbana-Champaign."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065027"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250766"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2011.26"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.5555\/1765931.1765948"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.v17:5\/6"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259022"},{"volume-title":"5th USENIX Workshop on Hot Topics in Operating Systems.","year":"2015","author":"Maas Martin","key":"e_1_2_1_57_1"},{"volume-title":"International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201916)","year":"2016","author":"Maas Martin","key":"e_1_2_1_58_1"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/362422.362434"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807184"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190216.1190231"},{"key":"e_1_2_1_62_1","unstructured":"McGill. 2014. Soot framework. Retrieved from http:\/\/www.sable.mcgill.ca\/soot\/. McGill. 2014. Soot framework. Retrieved from http:\/\/www.sable.mcgill.ca\/soot\/."},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03013-0_5"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2010.7"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297046"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1007\/11785477_25"},{"key":"e_1_2_1_67_1","unstructured":"Mozilla. 2014. The Rust programming language. Retrieved from http:\/\/www.rust-lang.org\/. Mozilla. 2014. The Rust programming language. Retrieved from http:\/\/www.rust-lang.org\/."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993513"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694345"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491416"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920906"},{"volume-title":"USENIX USENIX Annual Technical Conference (ATC\u201908)","year":"2008","author":"Olston Christopher","key":"e_1_2_1_72_1"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376726"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1155\/2005\/962135"},{"key":"e_1_2_1_76_1","unstructured":"Quora. 2015. For Big Data Java or C++. Retrieved from https:\/\/www.quora.com\/For-big-data-Java-or-C++. Quora. 2015. For Big Data Java or C++. Retrieved from https:\/\/www.quora.com\/For-big-data-Java-or-C++."},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/2484838.2484843"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449775"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/503272.503300"},{"key":"e_1_2_1_80_1","unstructured":"Spark User List. 2014. Help understanding - Not enough space to cache RDD. Retrieved from http:\/\/apache-spark-user-list.1001560.n3.nabble.com\/Help-understanding-Not-enough-space-to-cache-rdd-td20186.html. Spark User List. 2014. Help understanding - Not enough space to cache RDD. Retrieved from http:\/\/apache-spark-user-list.1001560.n3.nabble.com\/Help-understanding-Not-enough-space-to-cache-rdd-td20186.html."},{"key":"e_1_2_1_81_1","unstructured":"StackExchange. 2015. Choose C++ or Java for applications requiring huge amounts of RAM? Retrieved from http:\/\/programmers.stackexchange.com\/questions\/130108\/choose-c-or-java-for-applications-requiring-huge-amounts-of-ram. StackExchange. 2015. Choose C++ or Java for applications requiring huge amounts of RAM? Retrieved from http:\/\/programmers.stackexchange.com\/questions\/130108\/choose-c-or-java-for-applications-requiring-huge-amounts-of-ram."},{"key":"e_1_2_1_82_1","unstructured":"StackOverflow. 2015a. Out of memory error due to appending values to StringBuilder. Retrieved from http:\/\/stackoverflow.com\/questions\/12831076\/. StackOverflow. 2015a. Out of memory error due to appending values to StringBuilder. Retrieved from http:\/\/stackoverflow.com\/questions\/12831076\/."},{"key":"e_1_2_1_83_1","unstructured":"StackOverflow. 2015b. Out of memory error due to large spill buffer. Retrieved from http:\/\/stackoverflow.com\/questions\/8464048\/. StackOverflow. 2015b. Out of memory error due to large spill buffer. Retrieved from http:\/\/stackoverflow.com\/questions\/8464048\/."},{"key":"e_1_2_1_84_1","unstructured":"StackOverflow. 2015c. Out of memory error in a web parser. Retrieved from http:\/\/stackoverflow.com\/questions\/17707883\/. StackOverflow. 2015c. Out of memory error in a web parser. Retrieved from http:\/\/stackoverflow.com\/questions\/17707883\/."},{"key":"e_1_2_1_85_1","unstructured":"StackOverflow. 2015d. Out of memory error in building inverted index. Retrieved from http:\/\/stackoverflow.com\/questions\/17980491\/. StackOverflow. 2015d. Out of memory error in building inverted index. Retrieved from http:\/\/stackoverflow.com\/questions\/17980491\/."},{"key":"e_1_2_1_86_1","unstructured":"StackOverflow. 2015e. Out of memory error in computing frequencies of attribute values. Retrieved from http:\/\/stackoverflow.com\/questions\/23042829\/. StackOverflow. 2015e. Out of memory error in computing frequencies of attribute values. Retrieved from http:\/\/stackoverflow.com\/questions\/23042829\/."},{"key":"e_1_2_1_87_1","unstructured":"StackOverflow. 2015f. Out of memory error in customer review processing. Retrieved from http:\/\/stackoverflow.com\/questions\/20247185\/. StackOverflow. 2015f. Out of memory error in customer review processing. Retrieved from http:\/\/stackoverflow.com\/questions\/20247185\/."},{"key":"e_1_2_1_88_1","unstructured":"StackOverflow. 2015g. Out of memory error in hash join using DistributedCache. Retrieved from http:\/\/stackoverflow.com\/questions\/15316539\/. StackOverflow. 2015g. Out of memory error in hash join using DistributedCache. Retrieved from http:\/\/stackoverflow.com\/questions\/15316539\/."},{"key":"e_1_2_1_89_1","unstructured":"StackOverflow. 2015h. Out of memory error in map-side aggregation. Retrieved from http:\/\/stackoverflow.com\/questions\/16684712\/. StackOverflow. 2015h. Out of memory error in map-side aggregation. Retrieved from http:\/\/stackoverflow.com\/questions\/16684712\/."},{"key":"e_1_2_1_90_1","unstructured":"StackOverflow. 2015i. Out of memory error in matrix multiplication. Retrieved from http:\/\/stackoverflow.com\/questions\/16116022\/. StackOverflow. 2015i. Out of memory error in matrix multiplication. Retrieved from http:\/\/stackoverflow.com\/questions\/16116022\/."},{"key":"e_1_2_1_91_1","unstructured":"StackOverflow. 2015j. Out of memory error in processing a text file as a record. Retrieved from http:\/\/stackoverflow.com\/questions\/12466527\/. StackOverflow. 2015j. Out of memory error in processing a text file as a record. Retrieved from http:\/\/stackoverflow.com\/questions\/12466527\/."},{"key":"e_1_2_1_92_1","unstructured":"StackOverflow. 2015k. Out of memory error in word cooccurrence matrix stripes builder. Retrieved from http:\/\/stackoverflow.com\/questions\/12831076\/. StackOverflow. 2015k. Out of memory error in word cooccurrence matrix stripes builder. Retrieved from http:\/\/stackoverflow.com\/questions\/12831076\/."},{"key":"e_1_2_1_93_1","unstructured":"StackOverflow. 2015l. The performance comparison between in-mapper combiner and regular combiner. Retrieved from http:\/\/stackoverflow.com\/questions\/10925840\/. StackOverflow. 2015l. The performance comparison between in-mapper combiner and regular combiner. Retrieved from http:\/\/stackoverflow.com\/questions\/10925840\/."},{"key":"e_1_2_1_94_1","unstructured":"StackOverflow. 2015m. Reducer hang at the merge step. Retrieved from http:\/\/stackoverflow.com\/questions\/15541900\/. (2015). StackOverflow. 2015m. Reducer hang at the merge step. Retrieved from http:\/\/stackoverflow.com\/questions\/15541900\/. (2015)."},{"key":"e_1_2_1_95_1","unstructured":"StackOverflow. 2015n. Spark worker insufficient memory. Retrieved from http:\/\/stackoverflow.com\/questions\/31830834\/spark-worker-insufficient-memory. StackOverflow. 2015n. Spark worker insufficient memory. Retrieved from http:\/\/stackoverflow.com\/questions\/31830834\/spark-worker-insufficient-memory."},{"key":"e_1_2_1_96_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687553.1687609"},{"key":"e_1_2_1_97_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2010.5447738"},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.177855"},{"key":"e_1_2_1_99_1","unstructured":"Twitter. 2014. Storm: dstributed and fault-tolerant realtime computation. Retrieved from https:\/\/github.com\/nathanmarz\/storm. Twitter. 2014. Storm: dstributed and fault-tolerant realtime computation. Retrieved from https:\/\/github.com\/nathanmarz\/storm."},{"volume-title":"Hyracks: A data parallel platform.","year":"2014","author":"UCI.","key":"e_1_2_1_100_1"},{"key":"e_1_2_1_101_1","unstructured":"UCI. 2015a. Algebricks. Retrieved from https:\/\/code.google.com\/p\/hyracks\/source\/browse\/#git%2Ffullstack%2Falgebricks. UCI. 2015a. Algebricks. Retrieved from https:\/\/code.google.com\/p\/hyracks\/source\/browse\/#git%2Ffullstack%2Falgebricks."},{"key":"e_1_2_1_102_1","unstructured":"UCI. 2015b. AsterixDB. Retrieved from https:\/\/code.google.com\/p\/asterixdb\/wiki\/AsterixAlphaRelease. UCI. 2015b. AsterixDB. Retrieved from https:\/\/code.google.com\/p\/asterixdb\/wiki\/AsterixAlphaRelease."},{"key":"e_1_2_1_103_1","unstructured":"UCI. 2015c. Hivesterix. Retrieved from http:\/\/hyracks.org\/projects\/hivesterix\/. UCI. 2015c. Hivesterix. Retrieved from http:\/\/hyracks.org\/projects\/hivesterix\/."},{"key":"e_1_2_1_104_1","unstructured":"UCI. 2015d. Pregelix. Retrieved from http:\/\/hyracks.org\/projects\/pregelix\/. UCI. 2015d. Pregelix. Retrieved from http:\/\/hyracks.org\/projects\/pregelix\/."},{"key":"e_1_2_1_105_1","unstructured":"UCI. 2015e. VXQuery. Retrieved from http:\/\/incubator.apache.org\/vxquery\/. UCI. 2015e. VXQuery. Retrieved from http:\/\/incubator.apache.org\/vxquery\/."},{"key":"e_1_2_1_106_1","doi-asserted-by":"publisher","DOI":"10.5555\/647476.727758"},{"key":"e_1_2_1_107_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384690"},{"key":"e_1_2_1_108_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_1"},{"key":"e_1_2_1_109_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509512"},{"key":"e_1_2_1_110_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806617"},{"key":"e_1_2_1_111_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542523"},{"key":"e_1_2_1_112_1","doi-asserted-by":"publisher","DOI":"10.1145\/2560047"},{"key":"e_1_2_1_113_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882362.1882448"},{"key":"e_1_2_1_114_1","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368110"},{"key":"e_1_2_1_115_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806616"},{"key":"e_1_2_1_116_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_32"},{"key":"e_1_2_1_117_1","unstructured":"Yahoo. 2014. Yahoo! Webscope program. Retrieved from http:\/\/webscope.sandbox.yahoo.com\/. Yahoo. 2014. Yahoo! Webscope program. Retrieved from http:\/\/webscope.sandbox.yahoo.com\/."},{"key":"e_1_2_1_118_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337240"},{"key":"e_1_2_1_119_1","doi-asserted-by":"publisher","DOI":"10.1145\/1247480.1247602"},{"volume-title":"USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201908)","year":"2008","author":"Yu Yuan","key":"e_1_2_1_120_1"},{"volume-title":"USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201912)","year":"2012","author":"Zaharia Matei","key":"e_1_2_1_121_1"},{"volume-title":"USENIX Conference on Hot Topics in Cloud Computing (HotCloud\u201910)","year":"2010","author":"Zaharia Matei","key":"e_1_2_1_122_1"},{"volume-title":"USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201906)","year":"2006","author":"Zeldovich Nickolai","key":"e_1_2_1_123_1"},{"key":"e_1_2_1_124_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2010.5447802"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3162626","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3162626","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,31]],"date-time":"2022-12-31T21:25:48Z","timestamp":1672521948000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3162626"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,31]]},"references-count":123,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,10,31]]}},"alternative-id":["10.1145\/3162626"],"URL":"https:\/\/doi.org\/10.1145\/3162626","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2017,10,31]]},"assertion":[{"value":"2016-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-01-03","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}