{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,29]],"date-time":"2026-01-29T22:19:36Z","timestamp":1769725176467,"version":"3.49.0"},"reference-count":74,"publisher":"Association for Computing Machinery (ACM)","issue":"POPL","license":[{"start":{"date-parts":[[2017,12,27]],"date-time":"2017-12-27T00:00:00Z","timestamp":1514332800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004359","name":"Swedish Research Council","doi-asserted-by":"crossref","award":["2014-5484"],"award-info":[{"award-number":["2014-5484"]}],"id":[{"id":"10.13039\/501100004359","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100010663","name":"H2020 European Research Council","doi-asserted-by":"publisher","award":["759969"],"award-info":[{"award-number":["759969"]}],"id":[{"id":"10.13039\/100010663","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001824","name":"Czech Science Foundation","doi-asserted-by":"crossref","award":["16-24707Y"],"award-info":[{"award-number":["16-24707Y"]}],"id":[{"id":"10.13039\/501100001824","id-type":"DOI","asserted-by":"crossref"}]},{"name":"IT4IXS: IT4Innovations Excellence in Science","award":["LQ1602"],"award-info":[{"award-number":["LQ1602"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2018,1]]},"abstract":"<jats:p>String analysis is the problem of reasoning about how strings are manipulated by a program. It has numerous applications including automatic detection of cross-site scripting, and automatic test-case generation. A\u00a0popular string analysis technique includes symbolic executions, which at their core use constraint solvers over the string domain, a.k.a. string solvers. Such solvers typically reason about constraints expressed in theories over strings with the concatenation operator as an atomic constraint. In recent years, researchers started to recognise the importance of incorporating the replace-all operator (i.e. replace all occurrences of a string by another string) and, more generally, finite-state transductions in the theories of strings with concatenation. Such string operations are typically crucial for reasoning about XSS vulnerabilities in web applications, especially for modelling sanitisation functions and implicit browser transductions (e.g. innerHTML). Although this results in an undecidable theory in general, it was recently shown that the straight-line fragment of the theory is decidable, and is sufficiently expressive in practice. In this paper, we provide the first string solver that can reason about constraints involving both concatenation and finite-state transductions. Moreover, it has a completeness and termination guarantee for several important fragments (e.g. straight-line fragment). The main challenge addressed in the paper is the prohibitive worst-case complexity of the theory (double-exponential time), which is exponentially harder than the case without finite-state transductions. To this end, we propose a method that exploits succinct alternating finite-state automata as concise symbolic representations of string constraints. In contrast to previous approaches using nondeterministic automata, alternation offers not only exponential savings in space when representing Boolean combinations of transducers, but also a possibility of succinct representation of otherwise costly combinations of transducers and concatenation. Reasoning about the emptiness of the AFA language requires a state-space exploration in an exponential-sized graph, for which we use model checking algorithms (e.g.\u00a0IC3). We have implemented our algorithm and demonstrated its efficacy on benchmarks that are derived from cross-site scripting analysis and other examples in the literature.<\/jats:p>","DOI":"10.1145\/3158092","type":"journal-article","created":{"date-parts":[[2017,12,29]],"date-time":"2017-12-29T14:21:49Z","timestamp":1514557309000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":43,"title":["String constraints with concatenation and transducers solved efficiently"],"prefix":"10.1145","volume":"2","author":[{"given":"Luk\u00e1\u0161","family":"Hol\u00edk","sequence":"first","affiliation":[{"name":"Brno University of Technology, Czechia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Petr","family":"Jank\u016f","sequence":"additional","affiliation":[{"name":"Brno University of Technology, Czechia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anthony W.","family":"Lin","sequence":"additional","affiliation":[{"name":"University of Oxford, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philipp","family":"R\u00fcmmer","sequence":"additional","affiliation":[{"name":"Uppsala University, Sweden"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tom\u00e1\u0161","family":"Vojnar","sequence":"additional","affiliation":[{"name":"Brno University of Technology, Czechia"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,12,27]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-08867-9_10"},{"key":"e_1_2_2_2_1","volume-title":"Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications. In S&P. 387\u2013401.","author":"Balzarotti Davide","year":"2008","unstructured":"Davide Balzarotti , Marco Cova , Viktoria Felmetsger , Nenad Jovanovic , Engin Kirda , Christopher Kruegel , and Giovanni Vigna . 2008 . Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications. In S&P. 387\u2013401. Davide Balzarotti, Marco Cova, Viktoria Felmetsger, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna. 2008. Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications. In S&P. 387\u2013401."},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.2168\/LMCS-9(3:1)2013"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2389241.2389250"},{"key":"e_1_2_2_5_1","volume-title":"Proc. of SMT\u201910","author":"Barrett Clark","year":"2010","unstructured":"Clark Barrett , Aaron Stump , and Cesare Tinelli . 2010 . The SMT-LIB Standard: Version 2.0 . In Proc. of SMT\u201910 . Clark Barrett, Aaron Stump, and Cesare Tinelli. 2010. The SMT-LIB Standard: Version 2.0. In Proc. of SMT\u201910."},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2898375.2898393"},{"key":"e_1_2_2_7_1","first-page":"2","article-title":"The Sat4j library, release 2.2","volume":"7","author":"Berre Daniel Le","year":"2010","unstructured":"Daniel Le Berre and Anne Parrain . 2010 . The Sat4j library, release 2.2 . JSAT 7 , 2 - 3 (2010), 59\u20136. http:\/\/jsat.ewi.tudelft.nl\/ content\/volume7\/JSAT7_4_LeBerre.pdf Daniel Le Berre and Anne Parrain. 2010. The Sat4j library, release 2.2. JSAT 7, 2-3 (2010), 59\u20136. http:\/\/jsat.ewi.tudelft.nl\/ content\/volume7\/JSAT7_4_LeBerre.pdf","journal-title":"JSAT"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-663-09367-1"},{"key":"e_1_2_2_9_1","volume-title":"http:\/\/fmv.jku.at\/hwmcc11\/beyond1.pdf (cited","author":"Biere Armin","year":"2017","unstructured":"Armin Biere , Keijo Heljanko , and Siert Wieringa . 2017. AIGER 1.9 and Beyond (Draft). http:\/\/fmv.jku.at\/hwmcc11\/beyond1.pdf (cited in 2017 ). (2017). Armin Biere, Keijo Heljanko, and Siert Wieringa. 2017. AIGER 1.9 and Beyond (Draft). http:\/\/fmv.jku.at\/hwmcc11\/beyond1.pdf (cited in 2017). (2017)."},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00768-2_27"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31612-8_1"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14295-6_5"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1455518.1455522"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985995"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-08867-9_22"},{"key":"e_1_2_2_16_1","volume-title":"Peled","author":"Clarke Edmund M.","year":"1999","unstructured":"Edmund M. Clarke , Orna Grumberg , and Doron A . Peled . 1999 . Model Checking. The MIT Press , Cambridge, Massachusetts. Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. 1999. Model Checking. The MIT Press, Cambridge, Massachusetts."},{"key":"e_1_2_2_17_1","volume-title":"Google Closure Library (referred","author":"Google","year":"2015","unstructured":"Google co. 2015. Google Closure Library (referred in Nov 2015 ). https:\/\/developers.google.com\/closure\/library\/ . (2015). Google co. 2015. Google Closure Library (referred in Nov 2015). https:\/\/developers.google.com\/closure\/library\/ . (2015)."},{"key":"e_1_2_2_18_1","volume-title":"Introduction to Algorithms","author":"Cormen Thomas H.","unstructured":"Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest , and Clifford Stein . 2009. Introduction to Algorithms , Third Edition (3 rd ed.). The MIT Press . Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms, Third Edition (3rd ed.). The MIT Press.","edition":"3"},{"key":"e_1_2_2_19_1","volume-title":"Model Checking Regular Language Constraints. CoRR abs\/1708.09073","author":"Cox Arlen","year":"2017","unstructured":"Arlen Cox and Jason Leasure . 2017. Model Checking Regular Language Constraints. CoRR abs\/1708.09073 ( 2017 ). arXiv: 1708.09073 http:\/\/arxiv.org\/abs\/1708.09073 Arlen Cox and Jason Leasure. 2017. Model Checking Regular Language Constraints. CoRR abs\/1708.09073 (2017). arXiv: 1708.09073 http:\/\/arxiv.org\/abs\/1708.09073"},{"key":"e_1_2_2_20_1","volume-title":"A Symbolic Decision Procedure for Symbolic Alternating Finite Automata. CoRR abs\/1610.01722","author":"D\u2019Antoni Loris","year":"2016","unstructured":"Loris D\u2019Antoni , Zachary Kincaid , and Fang Wang . 2016. A Symbolic Decision Procedure for Symbolic Alternating Finite Automata. CoRR abs\/1610.01722 ( 2016 ). http:\/\/arxiv.org\/abs\/1610.01722 Loris D\u2019Antoni, Zachary Kincaid, and Fang Wang. 2016. A Symbolic Decision Procedure for Symbolic Alternating Finite Automata. CoRR abs\/1610.01722 (2016). http:\/\/arxiv.org\/abs\/1610.01722"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-35873-9_14"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1995376.1995394"},{"key":"e_1_2_2_23_1","volume-title":"Algebraic Combinatorics on Words","author":"Diekert Volker","unstructured":"Volker Diekert . 2002. Makanin\u2019s Algorithm . In Algebraic Combinatorics on Words , M. Lothaire (Ed.). Encyclopedia of Mathematics and its Applications, Vol. 90 . Cambridge University Press , Chapter 12, 387\u2013442. Volker Diekert. 2002. Makanin\u2019s Algorithm. In Algebraic Combinatorics on Words, M. Lothaire (Ed.). Encyclopedia of Mathematics and its Applications, Vol. 90. Cambridge University Press, Chapter 12, 387\u2013442."},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-12002-2_2"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-18088-5_43"},{"key":"e_1_2_2_26_1","unstructured":"Xiang Fu and Chung-Chih Li. 2010. Modeling Regular Replacement for String Constraint Solving. In NFM. 67\u201376.  Xiang Fu and Chung-Chih Li. 2010. Modeling Regular Replacement for String Constraint Solving. In NFM. 67\u201376."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00165-011-0214-3"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39611-3_21"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36742-7_20"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.2140\/pjm.1966.16.285"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065036"},{"key":"e_1_2_2_32_1","doi-asserted-by":"crossref","unstructured":"Claudio Guti\u00e9rrez. 1998. Solving Equations in Strings: On Makanin\u2019s Algorithm. In LATIN. 358\u2013373.  Claudio Guti\u00e9rrez. 1998. Solving Equations in Strings: On Makanin\u2019s Algorithm. In LATIN. 358\u2013373.","DOI":"10.1007\/BFb0054336"},{"key":"e_1_2_2_33_1","volume-title":"Yang","author":"Heiderich Mario","year":"2013","unstructured":"Mario Heiderich , J\u00f6rg Schwenk , Tilman Frosch , Jonas Magazinius , and Edward Z . Yang . 2013 . mXSS attacks: attacking well-secured web-applications by using innerHTML mutations. In CCS. 777\u2013788. Mario Heiderich, J\u00f6rg Schwenk, Tilman Frosch, Jonas Magazinius, and Edward Z. Yang. 2013. mXSS attacks: attacking well-secured web-applications by using innerHTML mutations. In CCS. 777\u2013788."},{"key":"e_1_2_2_34_1","volume-title":"Fast and Precise Sanitizer Analysis with BEK. In USENIX Security Symposium. http:\/\/static.usenix.org\/events\/sec11\/tech\/full_papers\/Hooimeijer.pdf","author":"Hooimeijer Pieter","year":"2011","unstructured":"Pieter Hooimeijer , Benjamin Livshits , David Molnar , Prateek Saxena , and Margus Veanes . 2011 . Fast and Precise Sanitizer Analysis with BEK. In USENIX Security Symposium. http:\/\/static.usenix.org\/events\/sec11\/tech\/full_papers\/Hooimeijer.pdf Pieter Hooimeijer, Benjamin Livshits, David Molnar, Prateek Saxena, and Margus Veanes. 2011. Fast and Precise Sanitizer Analysis with BEK. In USENIX Security Symposium. http:\/\/static.usenix.org\/events\/sec11\/tech\/full_papers\/Hooimeijer.pdf"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-012-0111-x"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2743014"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2643003"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2643134"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2377656.2377662"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1142\/S012905410200128X"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/2958031.2958084"},{"key":"e_1_2_2_42_1","volume-title":"Decision Procedures","author":"Kroening Daniel","unstructured":"Daniel Kroening and Ofer Strichman . 2008. Decision Procedures . Springer . Daniel Kroening and Ofer Strichman. 2008. Decision Procedures. Springer."},{"key":"e_1_2_2_43_1","doi-asserted-by":"crossref","unstructured":"Tianyi Liang Andrew Reynolds Cesare Tinelli Clark Barrett and Morgan Deters. 2014. A DPLL(T) Theory Solver for a Theory of Strings and Regular Expressions. In CAV. 646\u2013662.  Tianyi Liang Andrew Reynolds Cesare Tinelli Clark Barrett and Morgan Deters. 2014. A DPLL(T) Theory Solver for a Theory of Strings and Regular Expressions. In CAV. 646\u2013662.","DOI":"10.1007\/978-3-319-08867-9_43"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10703-016-0247-6"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-24246-0_9"},{"key":"e_1_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837641"},{"key":"e_1_2_2_47_1","doi-asserted-by":"crossref","unstructured":"Blake Loring Duncan Mitchell and Johannes Kinder. 2017. ExpoSE: Practical Symbolic Execution of Standalone JavaScript. In SPIN.  Blake Loring Duncan Mitchell and Johannes Kinder. 2017. ExpoSE: Practical Symbolic Execution of Standalone JavaScript. In SPIN.","DOI":"10.1145\/3092282.3092295"},{"key":"e_1_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1070\/SM1977v032n02ABEH002376"},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(80)90011-9"},{"key":"e_1_2_2_50_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45069-6_1"},{"key":"e_1_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-46432-8_17"},{"key":"e_1_2_2_52_1","volume-title":"LPAR\u201904 (LNCS)","author":"Nieuwenhuis Robert","unstructured":"Robert Nieuwenhuis , Albert Oliveras , and Cesare Tinelli . 2004. Abstract DPLL and Abstract DPLL Modulo Theories . In LPAR\u201904 (LNCS) , Vol. 3452 . Springer , 36\u201350. Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli. 2004. Abstract DPLL and Abstract DPLL Modulo Theories. In LPAR\u201904 (LNCS), Vol. 3452. Springer, 36\u201350."},{"key":"e_1_2_2_53_1","unstructured":"OWASP. 2013. https:\/\/www.owasp.org\/images\/f\/f8\/OWASP_Top_10_- _2013.pdf . (2013).  OWASP. 2013. https:\/\/www.owasp.org\/images\/f\/f8\/OWASP_Top_10_- _2013.pdf . (2013)."},{"key":"e_1_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/990308.990312"},{"key":"e_1_2_2_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1132516.1132584"},{"key":"e_1_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2389836.2389853"},{"key":"e_1_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-89439-1_20"},{"key":"e_1_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139195218"},{"key":"e_1_2_2_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2010.38"},{"key":"e_1_2_2_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491447"},{"key":"e_1_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.5555\/646186.683237"},{"key":"e_1_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.1007\/11591191_28"},{"key":"e_1_2_2_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660372"},{"key":"e_1_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-41528-4_12"},{"key":"e_1_2_2_65_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-60915-6_6"},{"key":"e_1_2_2_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103674"},{"key":"e_1_2_2_67_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-41528-4"},{"key":"e_1_2_2_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/1390630.1390661"},{"key":"e_1_2_2_69_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-23822-2_9"},{"key":"e_1_2_2_70_1","volume-title":"Stranger: An Automata-Based String Analysis Tool for PHP. In TACAS. 154\u2013157. Benchmark can be found at http:\/\/www.cs.ucsb.edu\/~vlab\/stranger\/ .","author":"Yu Fang","year":"2010","unstructured":"Fang Yu , Muath Alkhalaf , and Tevfik Bultan . 2010 . Stranger: An Automata-Based String Analysis Tool for PHP. In TACAS. 154\u2013157. Benchmark can be found at http:\/\/www.cs.ucsb.edu\/~vlab\/stranger\/ . Fang Yu, Muath Alkhalaf, and Tevfik Bultan. 2010. Stranger: An Automata-Based String Analysis Tool for PHP. In TACAS. 154\u2013157. Benchmark can be found at http:\/\/www.cs.ucsb.edu\/~vlab\/stranger\/ ."},{"key":"e_1_2_2_71_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10703-013-0189-1"},{"key":"e_1_2_2_72_1","volume-title":"Ibarra","author":"Yu Fang","year":"2009","unstructured":"Fang Yu , Tevfik Bultan , and Oscar H . Ibarra . 2009 . Symbolic String Verification: Combining String Analysis and Size Analysis. In TACAS. 322\u2013336. Fang Yu, Tevfik Bultan, and Oscar H. Ibarra. 2009. Symbolic String Verification: Combining String Analysis and Size Analysis. In TACAS. 322\u2013336."},{"key":"e_1_2_2_73_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129054111009112"},{"key":"e_1_2_2_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491456"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3158092","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3158092","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:11:30Z","timestamp":1750212690000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3158092"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,12,27]]},"references-count":74,"journal-issue":{"issue":"POPL","published-print":{"date-parts":[[2018,1]]}},"alternative-id":["10.1145\/3158092"],"URL":"https:\/\/doi.org\/10.1145\/3158092","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,12,27]]},"assertion":[{"value":"2017-12-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}