{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,23]],"date-time":"2026-09-23T06:31:01Z","timestamp":1790145061391,"version":"4.0.1"},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA","license":[{"start":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T00:00:00Z","timestamp":1570665600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2019,10,10]]},"abstract":"<jats:p>Static analysis tools for JavaScript must strike a delicate balance, achieving the level of precision required by the most complex features of target programs without incurring prohibitively high analysis time. For example, reasoning about dynamic property accesses sometimes requires precise relational information connecting the object, the dynamically-computed property name, and the property value. Even a minor precision loss at such critical program locations can result in a proliferation of spurious dataflow that renders the analysis results useless.<\/jats:p>\n          <jats:p>We present a technique by which a conventional non-relational static dataflow analysis can be combined soundly with a value refinement mechanism to increase precision on demand at critical locations. Crucially, our technique is able to incorporate relational information from the value refinement mechanism into the non-relational domain of the dataflow analysis.<\/jats:p>\n          <jats:p>We demonstrate the feasibility of this approach by extending an existing JavaScript static analysis with a demand-driven value refinement mechanism that relies on backwards abstract interpretation. Our evaluation finds that precise analysis of widely used JavaScript utility libraries depends heavily on the precision at a small number of critical locations that can be identified heuristically, and that backwards abstract interpretation is an effective mechanism to provide that precision on demand.<\/jats:p>","DOI":"10.1145\/3360566","type":"journal-article","created":{"date-parts":[[2019,10,11]],"date-time":"2019-10-11T14:53:33Z","timestamp":1570805613000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":14,"title":["Static analysis with demand-driven value refinement"],"prefix":"10.1145","volume":"3","author":[{"given":"Benno","family":"Stein","sequence":"first","affiliation":[{"name":"University of Colorado Boulder, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Benjamin Barslev","family":"Nielsen","sequence":"additional","affiliation":[{"name":"Aarhus University, Denmark"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bor-Yuh Evan","family":"Chang","sequence":"additional","affiliation":[{"name":"University of Colorado Boulder, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Anders","family":"M\u00f8ller","sequence":"additional","affiliation":[{"name":"Aarhus University, Denmark"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2019,10,10]]},"reference":[{"key":"e_1_2_2_1_1","volume-title":"TACAS 2017 (Lecture Notes in Computer Science)","volume":"10205","author":"Amadini Roberto","year":"2017","unstructured":"Roberto Amadini , Alexander Jordan , Graeme Gange , Fran\u00e7ois Gauthier , Peter Schachte , Harald S\u00f8ndergaard , Peter J. Stuckey , and Chenyi Zhang . 2017 . Combining String Abstract Domains for JavaScript Analysis: An Evaluation. In Tools and Algorithms for the Construction and Analysis of Systems - 23rd International Conference , TACAS 2017 (Lecture Notes in Computer Science) , Vol. 10205 . 41\u201357. Roberto Amadini, Alexander Jordan, Graeme Gange, Fran\u00e7ois Gauthier, Peter Schachte, Harald S\u00f8ndergaard, Peter J. Stuckey, and Chenyi Zhang. 2017. Combining String Abstract Domains for JavaScript Analysis: An Evaluation. In Tools and Algorithms for the Construction and Analysis of Systems - 23rd International Conference, TACAS 2017 (Lecture Notes in Computer Science), Vol. 10205. 41\u201357."},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660214"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3088515.3088521"},{"key":"e_1_2_2_4_1","volume-title":"17th International Conference, CAV 2005 (Lecture Notes in Computer Science)","volume":"3576","author":"Ball Thomas","year":"2005","unstructured":"Thomas Ball , Orna Kupferman , and Greta Yorsh . 2005 . Abstraction for Falsification. In Computer Aided Verification , 17th International Conference, CAV 2005 (Lecture Notes in Computer Science) , Vol. 3576 . Springer, 67\u201381. Thomas Ball, Orna Kupferman, and Greta Yorsh. 2005. Abstraction for Falsification. In Computer Aided Verification, 17th International Conference, CAV 2005 (Lecture Notes in Computer Science), Vol. 3576. Springer, 67\u201381."},{"key":"e_1_2_2_5_1","volume-title":"8th International SPIN Workshop","volume":"2057","author":"Ball Thomas","year":"2001","unstructured":"Thomas Ball and Sriram K. Rajamani . 2001. Automatically Validating Temporal Safety Properties of Interfaces. In Model Checking Software , 8th International SPIN Workshop , 2001 (Lecture Notes in Computer Science) , Vol. 2057 . Springer, 103\u2013122. Thomas Ball and Sriram K. Rajamani. 2001. Automatically Validating Temporal Safety Properties of Interfaces. In Model Checking Software, 8th International SPIN Workshop, 2001 (Lecture Notes in Computer Science), Vol. 2057. Springer, 103\u2013122."},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462186"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542517"},{"key":"e_1_2_2_8_1","volume-title":"6th International Conference, VMCAI","author":"Evan Chang Bor-Yuh","year":"2005","unstructured":"Bor-Yuh Evan Chang and K. Rustan M. Leino . 2005 . Abstract Interpretation with Alien Expressions and Heap Structures. In Verification, Model Checking, and Abstract Interpretation , 6th International Conference, VMCAI 2005. 147\u2013163. Bor-Yuh Evan Chang and K. Rustan M. Leino. 2005. Abstract Interpretation with Alien Expressions and Heap Structures. In Verification, Model Checking, and Abstract Interpretation, 6th International Conference, VMCAI 2005. 147\u2013163."},{"key":"e_1_2_2_9_1","volume-title":"Proceedings of the ACM SIGPLAN\u201990 Conference on Programming Language Design and Implementation, PLDI","author":"Chase David R.","year":"1990","unstructured":"David R. Chase , Mark N. Wegman , and F. Kenneth Zadeck . 1990. Analysis of Pointers and Structures . In Proceedings of the ACM SIGPLAN\u201990 Conference on Programming Language Design and Implementation, PLDI 1990 . ACM, 296\u2013310. David R. Chase, Mark N. Wegman, and F. Kenneth Zadeck. 1990. Analysis of Pointers and Structures. In Proceedings of the ACM SIGPLAN\u201990 Conference on Programming Language Design and Implementation, PLDI 1990. ACM, 296\u2013310."},{"key":"e_1_2_2_10_1","volume-title":"12th International Conference, CAV 2000 (Lecture Notes in Computer Science)","volume":"1855","author":"Clarke Edmund M.","year":"2000","unstructured":"Edmund M. Clarke , Orna Grumberg , Somesh Jha , Yuan Lu , and Helmut Veith . 2000 . Counterexample-Guided Abstraction Refinement. In Computer Aided Verification , 12th International Conference, CAV 2000 (Lecture Notes in Computer Science) , Vol. 1855 . Springer, 154\u2013169. Edmund M. Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith. 2000. Counterexample-Guided Abstraction Refinement. In Computer Aided Verification, 12th International Conference, CAV 2000 (Lecture Notes in Computer Science), Vol. 1855. Springer, 154\u2013169."},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/512950.512973"},{"key":"e_1_2_2_12_1","volume-title":"Systematic Design of Program Analysis Frameworks. In Conference Record of the Sixth Annual ACM Symposium on Principles of Programming Languages POPL","author":"Cousot Patrick","year":"1979","unstructured":"Patrick Cousot and Radhia Cousot . 1979 . Systematic Design of Program Analysis Frameworks. In Conference Record of the Sixth Annual ACM Symposium on Principles of Programming Languages POPL 1979. 269\u2013282. Patrick Cousot and Radhia Cousot. 1979. Systematic Design of Program Analysis Frameworks. In Conference Record of the Sixth Annual ACM Symposium on Principles of Programming Languages POPL 1979. 269\u2013282."},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1093\/logcom\/2.4.511"},{"key":"e_1_2_2_14_1","volume-title":"11th Asian Computing Science Conference (Lecture Notes in Computer Science)","volume":"4435","author":"Cousot Patrick","year":"2006","unstructured":"Patrick Cousot , Radhia Cousot , J\u00e9r\u00f4me Feret , Laurent Mauborgne , Antoine Min\u00e9 , David Monniaux , and Xavier Rival . 2006 . Combination of Abstractions in the ASTR\u00c9E Static Analyzer. In Advances in Computer Science - ASIAN 2006. Secure Software and Related Issues , 11th Asian Computing Science Conference (Lecture Notes in Computer Science) , Vol. 4435 . Springer, 272\u2013300. Patrick Cousot, Radhia Cousot, J\u00e9r\u00f4me Feret, Laurent Mauborgne, Antoine Min\u00e9, David Monniaux, and Xavier Rival. 2006. Combination of Abstractions in the ASTR\u00c9E Static Analyzer. In Advances in Computer Science - ASIAN 2006. Secure Software and Related Issues, 11th Asian Computing Science Conference (Lecture Notes in Computer Science), Vol. 4435. Springer, 272\u2013300."},{"key":"e_1_2_2_15_1","volume-title":"VMCAI","author":"Cousot Patrick","year":"2011","unstructured":"Patrick Cousot , Radhia Cousot , and Francesco Logozzo . 2011 . Precondition Inference from Intermittent Assertions and Application to Contracts on Collections. In Verification, Model Checking, and Abstract Interpretation - 12th International Conference , VMCAI 2011. 150\u2013168. Patrick Cousot, Radhia Cousot, and Francesco Logozzo. 2011. Precondition Inference from Intermittent Assertions and Application to Contracts on Collections. In Verification, Model Checking, and Abstract Interpretation - 12th International Conference, VMCAI 2011. 150\u2013168."},{"key":"e_1_2_2_16_1","volume-title":"SAS","author":"Cox Arlen","year":"2014","unstructured":"Arlen Cox , Bor-Yuh Evan Chang , and Xavier Rival . 2014 . Automatic Analysis of Open Objects in Dynamic Language Programs. In Static Analysis - 21st International Symposium , SAS 2014. 134\u2013150. Arlen Cox, Bor-Yuh Evan Chang, and Xavier Rival. 2014. Automatic Analysis of Open Objects in Dynamic Language Programs. In Static Analysis - 21st International Symposium, SAS 2014. 134\u2013150."},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2015.7054185"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512558"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103663"},{"key":"e_1_2_2_20_1","volume-title":"The Essence of JavaScript. In ECOOP 2010 - Object-Oriented Programming, 24th European Conference, Proceedings. Springer, 126\u2013150","author":"Guha Arjun","year":"2010","unstructured":"Arjun Guha , Claudiu Saftoiu , and Shriram Krishnamurthi . 2010 . The Essence of JavaScript. In ECOOP 2010 - Object-Oriented Programming, 24th European Conference, Proceedings. Springer, 126\u2013150 . Arjun Guha, Claudiu Saftoiu, and Shriram Krishnamurthi. 2010. The Essence of JavaScript. In ECOOP 2010 - Object-Oriented Programming, 24th European Conference, Proceedings. Springer, 126\u2013150."},{"key":"e_1_2_2_21_1","volume-title":"12th International Conference, TACAS 2006 (Lecture Notes in Computer Science)","volume":"3920","author":"Bhargav","unstructured":"Bhargav S. Gulavani and Sriram K. Rajamani. 2006. Counterexample Driven Refinement for Abstract Interpretation. In Tools and Algorithms for the Construction and Analysis of Systems , 12th International Conference, TACAS 2006 (Lecture Notes in Computer Science) , Vol. 3920 . Springer, 474\u2013488. Bhargav S. Gulavani and Sriram K. Rajamani. 2006. Counterexample Driven Refinement for Abstract Interpretation. In Tools and Algorithms for the Construction and Analysis of Systems, 12th International Conference, TACAS 2006 (Lecture Notes in Computer Science), Vol. 3920. Springer, 474\u2013488."},{"key":"e_1_2_2_22_1","first-page":"1","article-title":"Error Checking with Client-Driven Pointer","volume":"58","author":"Guyer Samuel Z.","year":"2005","unstructured":"Samuel Z. Guyer and Calvin Lin . 2005 . Error Checking with Client-Driven Pointer Analysis. Sci. Comput. Program. 58 , 1 - 2 (2005), 83\u2013114. Samuel Z. Guyer and Calvin Lin. 2005. Error Checking with Client-Driven Pointer Analysis. Sci. Comput. Program. 58, 1-2 (2005), 83\u2013114.","journal-title":"Analysis. Sci. Comput. Program."},{"key":"e_1_2_2_23_1","volume-title":"Lazy Abstraction. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 58\u201370","author":"Henzinger Thomas A.","year":"2002","unstructured":"Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , and Gr\u00e9goire Sutre . 2002 . Lazy Abstraction. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 58\u201370 . Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, and Gr\u00e9goire Sutre. 2002. Lazy Abstraction. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 58\u201370."},{"key":"e_1_2_2_24_1","unstructured":"IBM Research. 2018. T.J. Watson Libraries for Analysis (WALA).  IBM Research. 2018. T.J. Watson Libraries for Analysis (WALA)."},{"key":"e_1_2_2_25_1","volume-title":"Assertion Language for Mutable Data Structures. In Conference Record of POPL 2001: The 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 14\u201326","author":"Samin","unstructured":"Samin S. Ishtiaq and Peter W. O\u2019Hearn. 2001. BI as an Assertion Language for Mutable Data Structures. In Conference Record of POPL 2001: The 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 14\u201326 . Samin S. Ishtiaq and Peter W. O\u2019Hearn. 2001. BI as an Assertion Language for Mutable Data Structures. In Conference Record of POPL 2001: The 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 14\u201326."},{"key":"e_1_2_2_26_1","volume-title":"16th International Symposium, SAS 2009 (Lecture Notes in Computer Science)","volume":"5673","author":"Jensen Simon Holm","year":"2009","unstructured":"Simon Holm Jensen , Anders M\u00f8ller , and Peter Thiemann . 2009 . Type Analysis for JavaScript. In Static Analysis , 16th International Symposium, SAS 2009 (Lecture Notes in Computer Science) , Vol. 5673 . Springer, 238\u2013255. Simon Holm Jensen, Anders M\u00f8ller, and Peter Thiemann. 2009. Type Analysis for JavaScript. In Static Analysis, 16th International Symposium, SAS 2009 (Lecture Notes in Computer Science), Vol. 5673. Springer, 238\u2013255."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00290339"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635904"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/512927.512945"},{"key":"e_1_2_2_30_1","volume-title":"APLAS","author":"Ko Yoonseok","year":"2017","unstructured":"Yoonseok Ko , Xavier Rival , and Sukyoung Ryu . 2017 . Weakly Sensitive Analysis for Unbounded Iteration over JavaScript Objects. In Programming Languages and Systems - 15th Asian Symposium , APLAS 2017. 148\u2013168. Yoonseok Ko, Xavier Rival, and Sukyoung Ryu. 2017. Weakly Sensitive Analysis for Unbounded Iteration over JavaScript Objects. In Programming Languages and Systems - 15th Asian Symposium, APLAS 2017. 148\u2013168."},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2676"},{"key":"e_1_2_2_32_1","volume-title":"Proc. International Workshop on Foundations of Object Oriented Languages (FOOL","author":"Lee Hongki","year":"2012","unstructured":"Hongki Lee , Sooncheol Won , Joonho Jin , Junhee Cho , and Sukyoung Ryu . 2012 . SAFE: Formal Specification and Implementation of a Scalable Analysis Framework for ECMAScript . In Proc. International Workshop on Foundations of Object Oriented Languages (FOOL 2012). Hongki Lee, Sooncheol Won, Joonho Jin, Junhee Cho, and Sukyoung Ryu. 2012. SAFE: Formal Specification and Implementation of a Scalable Analysis Framework for ECMAScript. In Proc. International Workshop on Foundations of Object Oriented Languages (FOOL 2012)."},{"key":"e_1_2_2_33_1","volume-title":"Composing Dataflow Analyses and Transformations. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 270\u2013282","author":"Lerner Sorin","year":"2002","unstructured":"Sorin Lerner , David Grove , and Craig Chambers . 2002 . Composing Dataflow Analyses and Transformations. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 270\u2013282 . Sorin Lerner, David Grove, and Craig Chambers. 2002. Composing Dataflow Analyses and Transformations. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 270\u2013282."},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993567"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-54807-9_12"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029894.1029907"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2821504"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2989225.2989228"},{"key":"e_1_2_2_39_1","volume-title":"Proc. 29th European Conference on Object-Oriented Programming. 735\u2013756","author":"Park Changhee","year":"2015","unstructured":"Changhee Park and Sukyoung Ryu . 2015 . Scalable and Precise Static Analysis of JavaScript Applications via Loop-Sensitivity . In Proc. 29th European Conference on Object-Oriented Programming. 735\u2013756 . Changhee Park and Sukyoung Ryu. 2015. Scalable and Precise Static Analysis of JavaScript Applications via Loop-Sensitivity. In Proc. 29th European Conference on Object-Oriented Programming. 735\u2013756."},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1275497.1275501"},{"key":"e_1_2_2_41_1","volume-title":"POPL","author":"Santos Jos\u00e9 Fragoso","year":"2018","unstructured":"Jos\u00e9 Fragoso Santos , Petar Maksimovic , Daiva Naudziuniene , Thomas Wood , and Philippa Gardner . 2018. JaVerT: JavaScript Verification Toolchain. PACMPL 2 , POPL ( 2018 ), 50:1\u201350:33. Jos\u00e9 Fragoso Santos, Petar Maksimovic, Daiva Naudziuniene, Thomas Wood, and Philippa Gardner. 2018. JaVerT: JavaScript Verification Toolchain. PACMPL 2, POPL (2018), 50:1\u201350:33."},{"key":"e_1_2_2_42_1","volume-title":"POPL","author":"Santos Jos\u00e9 Fragoso","year":"2019","unstructured":"Jos\u00e9 Fragoso Santos , Petar Maksimovic , Gabriela Sampaio , and Philippa Gardner . 2019. JaVer T 2.0 : Compositional Symbolic Execution for JavaScript. PACMPL 3 , POPL ( 2019 ), 66:1\u201366:31. Jos\u00e9 Fragoso Santos, Petar Maksimovic, Gabriela Sampaio, and Philippa Gardner. 2019. JaVerT 2.0: Compositional Symbolic Execution for JavaScript. PACMPL 3, POPL (2019), 66:1\u201366:31."},{"key":"e_1_2_2_43_1","volume-title":"Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java. In 30th European Conference on Object-Oriented Programming, ECOOP","author":"Sp\u00e4th Johannes","year":"2016","unstructured":"Johannes Sp\u00e4th , Lisa Nguyen Quang Do , Karim Ali , and Eric Bodden . 2016 . Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java. In 30th European Conference on Object-Oriented Programming, ECOOP 2016. 22:1\u201322:26. Johannes Sp\u00e4th, Lisa Nguyen Quang Do, Karim Ali, and Eric Bodden. 2016. Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java. In 30th European Conference on Object-Oriented Programming, ECOOP 2016. 22:1\u201322:26."},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134027"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_20"},{"key":"e_1_2_2_46_1","volume-title":"14th International Conference, VMCAI 2013. 375\u2013395","author":"Toubhans Antoine","year":"2013","unstructured":"Antoine Toubhans , Bor-Yuh Evan Chang , and Xavier Rival . 2013 . Reduced Product Combination of Abstract Domains for Shapes. In Verification, Model Checking, and Abstract Interpretation , 14th International Conference, VMCAI 2013. 375\u2013395 . Antoine Toubhans, Bor-Yuh Evan Chang, and Xavier Rival. 2013. Reduced Product Combination of Abstract Domains for Shapes. In Verification, Model Checking, and Abstract Interpretation, 14th International Conference, VMCAI 2013. 375\u2013395."},{"key":"e_1_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950338"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3360566","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3360566","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:22:59Z","timestamp":1750202579000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3360566"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,10]]},"references-count":47,"journal-issue":{"issue":"OOPSLA","published-print":{"date-parts":[[2019,10,10]]}},"alternative-id":["10.1145\/3360566"],"URL":"https:\/\/doi.org\/10.1145\/3360566","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,10,10]]},"assertion":[{"value":"2019-10-10","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}