{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T05:03:51Z","timestamp":1755839031919,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":48,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,27]],"date-time":"2020-06-27T00:00:00Z","timestamp":1593216000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"NSF","award":["CCF-1837120, CNS-1764039, 1563956, 1514256, IIS-1546543, 1546083, 1651489, OAC-1739419"],"award-info":[{"award-number":["CCF-1837120, CNS-1764039, 1563956, 1514256, IIS-1546543, 1546083, 1651489, OAC-1739419"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,27]]},"DOI":"10.1145\/3377811.3380375","type":"proceedings-article","created":{"date-parts":[[2020,10,1]],"date-time":"2020-10-01T18:25:34Z","timestamp":1601576734000},"page":"1098-1109","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Managing data constraints in database-backed web applications"],"prefix":"10.1145","author":[{"given":"Junwen","family":"Yang","sequence":"first","affiliation":[{"name":"University of Chicago"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Utsav","family":"Sethi","sequence":"additional","affiliation":[{"name":"University of Chicago"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cong","family":"Yan","sequence":"additional","affiliation":[{"name":"University of Washington"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alvin","family":"Cheung","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shan","family":"Lu","sequence":"additional","affiliation":[{"name":"University of Chicago"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,10]]},"reference":[{"unstructured":"Diaspora-5090. https:\/\/github.com\/diaspora\/diaspora\/issues\/5090.","key":"e_1_3_2_1_1_1"},{"unstructured":"Discourse. A blog application. https:\/\/github.com\/discourse\/discourse\/.","key":"e_1_3_2_1_2_1"},{"unstructured":"Discourse-89148. https:\/\/meta.discourse.org\/t\/89148.","key":"e_1_3_2_1_3_1"},{"unstructured":"Discourse Import Scripts. A blog application. https:\/\/github.com\/discourse\/discourse\/tree\/master\/script\/import_scripts.","key":"e_1_3_2_1_4_1"},{"unstructured":"Django-cms. An enterprise content management system. https:\/\/github.com\/divio\/django-cms\/.","key":"e_1_3_2_1_5_1"},{"unstructured":"Django Validator Function. https:\/\/docs.djangoproject.com\/en\/2.2\/ref\/validators\/.","key":"e_1_3_2_1_6_1"},{"unstructured":"Gitlab-24493. https:\/\/gitlab.com\/gitlab-org\/gitlab-ce\/issues\/24493.","key":"e_1_3_2_1_7_1"},{"unstructured":"Gitlab-36919. https:\/\/gitlab.com\/gitlab-org\/gitlab-ce\/issues\/36919.","key":"e_1_3_2_1_8_1"},{"unstructured":"Gitlab database migrate. https:\/\/github.com\/gitlabhq\/gitlabhq\/tree\/master\/db\/migrate.","key":"e_1_3_2_1_9_1"},{"unstructured":"Gitlab releases. https:\/\/about.gitlab.com\/releases\/.","key":"e_1_3_2_1_10_1"},{"unstructured":"Hibernate Validator Annotation. https:\/\/hibernate.org\/validator\/documentation\/getting-started\/.","key":"e_1_3_2_1_11_1"},{"unstructured":"Hyperloop. https:\/\/hyperloop-rails.github.io\/vibranium\/.","key":"e_1_3_2_1_12_1"},{"unstructured":"Rails Uniqueness API. https:\/\/github.com\/rails\/rails\/blob\/master\/activerecord\/lib\/active_record\/validations\/uniqueness.rb#L165\/.","key":"e_1_3_2_1_13_1"},{"unstructured":"Rails Uniqueness Problem. https:\/\/thoughtbot.com\/blog\/the-perils-of-uniqueness-validations.","key":"e_1_3_2_1_14_1"},{"unstructured":"Redash. An application to connect your company's data. https:\/\/github.com\/getredash\/redash\/.","key":"e_1_3_2_1_15_1"},{"unstructured":"redmine-24283. https:\/\/www.redmine.org\/issues\/24283.","key":"e_1_3_2_1_16_1"},{"unstructured":"Redmine-25235. http:\/\/www.redmine.org\/issues\/25235\/.","key":"e_1_3_2_1_17_1"},{"unstructured":"Redmine-9394. http:\/\/www.redmine.org\/issues\/9394\/.","key":"e_1_3_2_1_18_1"},{"unstructured":"redmine a project management application. https:\/\/redmine.org\/. (????).","key":"e_1_3_2_1_19_1"},{"unstructured":"Spree. A ecommerce application. https:\/\/github.com\/spree\/spree\/.","key":"e_1_3_2_1_20_1"},{"unstructured":"Spree-3829. https:\/\/github.com\/spree\/spree\/issues\/3829.","key":"e_1_3_2_1_21_1"},{"unstructured":"Spree-4123. https:\/\/github.com\/diaspora\/diaspora\/issues\/4123.","key":"e_1_3_2_1_22_1"},{"unstructured":"Spree-6673. https:\/\/github.com\/spree\/spree\/issues\/6673.","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"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_25_1","DOI":"10.1145\/2338965.2336760"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_26_1","DOI":"10.1007\/s10515-018-0249-2"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_27_1","DOI":"10.1145\/2903726"},{"key":"e_1_3_2_1_28_1","volume-title":"Ahmed E. Hassan, Mohamed Nasser, and Parminder Flora.","author":"Chen Tse-Hsun","year":"2014","unstructured":"Tse-Hsun Chen, Weiyi Shang, Zhen Ming Jiang, Ahmed E. Hassan, Mohamed Nasser, and Parminder Flora. 2014. Detecting Performance Anti-patterns for Applications Developed Using Object-relational Mapping. In ICSE. 1001--1012."},{"key":"e_1_3_2_1_29_1","volume-title":"Ahmed E. Hassan, Mohamed Nasser, and Parminder Flora.","author":"Chen Tse-Hsun","year":"2016","unstructured":"Tse-Hsun Chen, Weiyi Shang, Zhen Ming Jiang, Ahmed E. Hassan, Mohamed Nasser, and Parminder Flora. 2016. Finding and evaluating the performance impact of redundant data access for applications that are developed using object-relational mapping frameworks.. In ICSE. 1148--1161."},{"key":"e_1_3_2_1_30_1","volume-title":"Cosette: An Automated Prover for SQL. In CIDR.","author":"Chu Shumo","year":"2017","unstructured":"Shumo Chu, Chenglong Wang, Konstantin Weitz, and Alvin Cheung. 2017. Cosette: An Automated Prover for SQL. In CIDR."},{"doi-asserted-by":"crossref","unstructured":"Shumo Chu Konstantin Weitz Alvin Cheung and Dan Suciu. 2017. HoTTSQL: Proving Query Rewrites with Univalent SQL Semantics. In PLDI. 510--524.","key":"e_1_3_2_1_31_1","DOI":"10.1145\/3140587.3062348"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_32_1","DOI":"10.1145\/1066157.1066219"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_33_1","DOI":"10.1109\/SP.2016.58"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_34_1","DOI":"10.1145\/2882903.2915235"},{"unstructured":"Guy Lohman. Is Query Optimization a \"Solved\" Problem? https:\/\/wp.sigmod.org\/?p=1075.","key":"e_1_3_2_1_35_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_36_1","DOI":"10.1145\/2642937.2643012"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_37_1","DOI":"10.1145\/2491529"},{"doi-asserted-by":"crossref","unstructured":"Marija Selakovic and Michael Pradel. 2016. Performance issues and optimizations in javascript: an empirical study. In ICSE. 61--72.","key":"e_1_3_2_1_38_1","DOI":"10.1145\/2884781.2884829"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_39_1","DOI":"10.1145\/3035918.3058739"},{"key":"e_1_3_2_1_40_1","volume-title":"OOPSLA","author":"Wang Chenglong","year":"2018","unstructured":"Chenglong Wang, Alvin Cheung, and Rastislav Bod\u00edk. 2018. Speeding up symbolic reasoning for relational queries. PACMPL 2, OOPSLA (2018), 157:1--157:25."},{"key":"e_1_3_2_1_41_1","first-page":"1","article-title":"Verifying Equivalence of Database-driven Applications","volume":"56","author":"Wang Yuepeng","year":"2017","unstructured":"Yuepeng Wang, Isil Dillig, Shuvendu K. Lahiri, and William R. Cook. 2017. Verifying Equivalence of Database-driven Applications. In Proceedings of the ACM on Programming Languages. 56:1--56:29.","journal-title":"Proceedings of the ACM on Programming Languages."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_42_1","DOI":"10.1145\/3314221.3314588"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_43_1","DOI":"10.14778\/2876473.2876479"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_44_1","DOI":"10.14778\/3342263.3342630"},{"doi-asserted-by":"crossref","unstructured":"Cong Yan Junwen Yang Alvin Cheung and Shan Lu. 2017. Understanding Database Performance Inefficiencies in Real-world Web Applications. In CIKM.","key":"e_1_3_2_1_45_1","DOI":"10.1145\/3132847.3132954"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_46_1","DOI":"10.1145\/2980983.2908098"},{"unstructured":"Junwen Yang Pranav Subramaniam Shan Lu Cong Yan and Alvin Cheung. 2018. How not to structure your database-backed web applications: a study of performance bugs in the wild. In ICSE. 800--810.","key":"e_1_3_2_1_47_1"},{"doi-asserted-by":"crossref","unstructured":"Junwen Yang Pranav Subramaniam Shan Lu Cong Yan and Alvin Cheung. 2018. PowerStation: Automatically detecting and fixing inefficiencies of database-backed web applications in IDE. In FSE. 884--887.","key":"e_1_3_2_1_48_1","DOI":"10.1145\/3236024.3264589"}],"event":{"sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","KIISE Korean Institute of Information Scientists and Engineers","IEEE CS"],"acronym":"ICSE '20","name":"ICSE '20: 42nd International Conference on Software Engineering","location":"Seoul South Korea"},"container-title":["Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380375","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3377811.3380375","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3377811.3380375","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:39Z","timestamp":1750200099000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380375"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,27]]},"references-count":48,"alternative-id":["10.1145\/3377811.3380375","10.1145\/3377811"],"URL":"https:\/\/doi.org\/10.1145\/3377811.3380375","relation":{},"subject":[],"published":{"date-parts":[[2020,6,27]]},"assertion":[{"value":"2020-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}