{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:36:08Z","timestamp":1780346168873,"version":"3.54.1"},"publisher-location":"New York, NY, USA","reference-count":47,"publisher":"ACM","license":[{"start":{"date-parts":[[2018,5,27]],"date-time":"2018-05-27T00:00:00Z","timestamp":1527379200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2018,5,27]]},"DOI":"10.1145\/3180155.3180194","type":"proceedings-article","created":{"date-parts":[[2018,6,12]],"date-time":"2018-06-12T12:16:01Z","timestamp":1528805761000},"page":"800-810","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":55,"title":["How\n            <i>not<\/i>\n            to structure your database-backed web applications"],"prefix":"10.1145","author":[{"given":"Junwen","family":"Yang","sequence":"first","affiliation":[{"name":"University of Chicago"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Pranav","family":"Subramaniam","sequence":"additional","affiliation":[{"name":"University of Chicago"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Shan","family":"Lu","sequence":"additional","affiliation":[{"name":"University of Chicago"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Cong","family":"Yan","sequence":"additional","affiliation":[{"name":"University of Washington"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Alvin","family":"Cheung","sequence":"additional","affiliation":[{"name":"University of Washington"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2018,5,27]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Active Support Instrumentation. http:\/\/guides.rubyonrails.org\/active_support_instrumentation.html\/."},{"key":"e_1_3_2_1_2_1","unstructured":"Airbnb. An online marketplace and hospitality service application. https:\/\/www.airbnb.com\/."},{"key":"e_1_3_2_1_3_1","unstructured":"Amazon. An online e-commerce application. https:\/\/amazon.com\/."},{"key":"e_1_3_2_1_4_1","unstructured":"AutoAdmin. For database systems self-tuning and self-administering. https:\/\/www.microsoft.com\/en-us\/research\/project\/autoadmin\/."},{"key":"e_1_3_2_1_5_1","unstructured":"AWS instance types. https:\/\/aws.amazon.com\/tw\/ec2\/instance-types\/."},{"key":"e_1_3_2_1_6_1","unstructured":"Browser Ranking. http:\/\/www.zdnet.com\/article\/chrome-is-the-most-popular-web-browser-of-all\/."},{"key":"e_1_3_2_1_7_1","unstructured":"Bullet. A library used to solve N + 1 query problem for Ruby on Rails. https:\/\/github.com\/flyerhzm\/bullet\/."},{"key":"e_1_3_2_1_8_1","unstructured":"Diaspora. A social-network application. https:\/\/github.com\/diaspora\/diaspora\/."},{"key":"e_1_3_2_1_9_1","unstructured":"Django. https:\/\/www.djangoproject.com\/."},{"key":"e_1_3_2_1_10_1","unstructured":"Django-cms. An enterprise content management system. https:\/\/github.com\/divio\/django-cms\/."},{"key":"e_1_3_2_1_11_1","unstructured":"Find your new favorite web framework. https:\/\/hotframeworks.com\/."},{"key":"e_1_3_2_1_12_1","unstructured":"Github. https:\/\/github.com\/."},{"key":"e_1_3_2_1_13_1","unstructured":"Gitlab. A software to collaborate on code. https:\/\/github.com\/gitlabhq\/gitlabhq\/."},{"key":"e_1_3_2_1_14_1","unstructured":"Hibernate. http:\/\/hibernate.org\/."},{"key":"e_1_3_2_1_15_1","unstructured":"Hulu. A subscription video on demand service application. https:\/\/www.hulu.com\/."},{"key":"e_1_3_2_1_16_1","unstructured":"Hyperloop. http:\/\/hyperloop.cs.uchicago.edu."},{"key":"e_1_3_2_1_17_1","unstructured":"Lobsters. A forum application. https:\/\/www.github.com\/jcs\/lobsters\/."},{"key":"e_1_3_2_1_18_1","unstructured":"N+ 1 query problem. https:\/\/www.sitepoint.com\/silver-bullet-n1-problem\/."},{"key":"e_1_3_2_1_19_1","unstructured":"OpenStreetMap. Amap service application. https:\/\/github.com\/openstreetmap\/openstreetmap-website\/."},{"key":"e_1_3_2_1_20_1","unstructured":"Pagination. A library used in webpage displaying. https:\/\/github.com\/mislav\/will_paginate\/."},{"key":"e_1_3_2_1_21_1","unstructured":"Redash. An application to connect your company's data. https:\/\/github.com\/getredash\/redash\/."},{"key":"e_1_3_2_1_22_1","unstructured":"Ruby on Rails. http:\/\/rubyonrails.org\/."},{"key":"e_1_3_2_1_23_1","unstructured":"Zulip. A powerful team chat system. https:\/\/github.com\/zulip\/zulip\/."},{"key":"e_1_3_2_1_24_1","unstructured":"Akamai and Gomez.com. How Loading Time Affects Your Bottom Line. https:\/\/blog.kissmetrics.com\/loading-time\/."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465333"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568259"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2553039"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2588555.2593672"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","unstructured":"Alvin Cheung Armando Solar-Lezama and Samuel Madden. 2013. Optimizing database-backed applications with query synthesis. In PLDI. 3--14. 10.1145\/2491956.2462180","DOI":"10.1145\/2491956.2462180"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","unstructured":"Bruno Dufour Barbara G. Ryder and Gary Sevitsky. 2008. A Scalable Technique for Characterizing the Usage of Temporaries in Framework-intensive Java Applications. In FSE. 59--70. 10.1145\/1453101.1453111","DOI":"10.1145\/1453101.1453111"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","unstructured":"Wenfei Fan Floris Geerts and Leonid Libkin. 2014. On Scale Independence for Querying Big Data. In PODS. 51--62. 10.1145\/2594538.2594551","DOI":"10.1145\/2594538.2594551"},{"key":"e_1_3_2_1_32_1","unstructured":"Paul Graham. Startup = Growth. http:\/\/paulgraham.com\/growth.html."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254075"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1323293.1294264"},{"key":"e_1_3_2_1_35_1","unstructured":"Greg Linden. Marissa Mayer at Web 2.0. http:\/\/glinden.blogspot.com\/2006\/11\/marissa-mayer-at-web-20.html\/."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/2818754.2818863"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","unstructured":"Adrian Nistor Linhai Song Darko Marinov and Shan Lu. 2013. Toddler: detecting performance problems via similar memory-access patterns. In ICSE. 562--571.","DOI":"10.5555\/2486788.2486862"},{"key":"e_1_3_2_1_38_1","volume-title":"The RedMonk Programming Language Rankings","author":"O'Grady Stephen","year":"2017","unstructured":"Stephen O'Grady. The RedMonk Programming Language Rankings: June 2017. http:\/\/redmonk.com\/sogrady\/2017\/06\/08\/language-rankings-6-17\/."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","unstructured":"Oswaldo Olivo Isil Dillig and Calvin Lin. 2015. Static detection of asymptotic performance bugs in collection traversals. In PLDI. 369--378. 10.1145\/2737924.2737966","DOI":"10.1145\/2737924.2737966"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"crossref","unstructured":"Karthik Ramachandra Chavan Mahendra Guravannavar Ravindra and S Sudarshan. 2015. Program Transformations for Asynchronous and Batched Query Submission. In TKDE. 531--544.","DOI":"10.1109\/TKDE.2014.2334302"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","unstructured":"Marija Selakovic and Michael Pradel. 2016. Performance issues and optimizations in javascript: an empirical study. In ICSE. 61--72. 10.1145\/2884781.2884829","DOI":"10.1145\/2884781.2884829"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/260873"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","unstructured":"Guoqing Xu Matthew Arnold Nick Mitchell Atanas Rountev and Gary Sevitsky. 2009. Go with the Flow: Profiling Copies to Find Runtime Bloat. In PLDI. 419--430. 10.1145\/1542476.1542523","DOI":"10.1145\/1542476.1542523"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","unstructured":"Guoqing Xu Nick Mitchell Matthew Arnold Atanas Rountev Edith Schonberg and Gary Sevitsky. 2010. Finding Low-utility Data Structures. In PLDI. 174--186. 10.1145\/1806596.1806617","DOI":"10.1145\/1806596.1806617"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","unstructured":"Cong Yan and Alvin Cheung. 2016. Leveraging Lock Contention to Improve OLTP Application Performance. In VLDB. 444--455. 10.14778\/2876473.2876479","DOI":"10.14778\/2876473.2876479"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","unstructured":"Cong Yan Junwen Yang Alvin Cheung and Shan Lu. 2017. Understanding Database Performance Inefficiencies in Real-world Web Applications. In CIKM. 10.1145\/3132847.3132954","DOI":"10.1145\/3132847.3132954"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.5555\/2664446.2664477"}],"event":{"name":"ICSE '18: 40th International Conference on Software Engineering","location":"Gothenburg Sweden","acronym":"ICSE '18","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","IEEE-CS Computer Society"]},"container-title":["Proceedings of the 40th International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3180155.3180194","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3180155.3180194","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:08:18Z","timestamp":1750208898000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3180155.3180194"}},"subtitle":["a study of performance bugs in the wild"],"short-title":[],"issued":{"date-parts":[[2018,5,27]]},"references-count":47,"alternative-id":["10.1145\/3180155.3180194","10.1145\/3180155"],"URL":"https:\/\/doi.org\/10.1145\/3180155.3180194","relation":{},"subject":[],"published":{"date-parts":[[2018,5,27]]},"assertion":[{"value":"2018-05-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}