{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T11:02:45Z","timestamp":1770289365220,"version":"3.49.0"},"publisher-location":"Cham","reference-count":39,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030890506","type":"print"},{"value":"9783030890513","type":"electronic"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-89051-3_10","type":"book-chapter","created":{"date-parts":[[2021,10,12]],"date-time":"2021-10-12T09:30:38Z","timestamp":1634031038000},"page":"163-181","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["The Choice Construct in the Souffl\u00e9 Language"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4577-3360","authenticated-orcid":false,"given":"Xiaowen","family":"Hu","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4704-2182","authenticated-orcid":false,"given":"Joshua","family":"Karp","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3857-5016","authenticated-orcid":false,"given":"David","family":"Zhao","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8812-5067","authenticated-orcid":false,"given":"Abdul","family":"Zreika","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5795-9798","authenticated-orcid":false,"given":"Xi","family":"Wu","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7672-7359","authenticated-orcid":false,"given":"Bernhard","family":"Scholz","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,10,12]]},"reference":[{"key":"10_CR1","volume-title":"Foundations of Databases: The Logical Level","author":"S Abiteboul","year":"1995","unstructured":"Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases: The Logical Level, 1st edn. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)","edition":"1"},{"key":"10_CR2","volume-title":"Compilers: Principles, Techniques, and Tools","author":"AV Aho","year":"2006","unstructured":"Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2006)","edition":"2"},{"key":"10_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1007\/978-3-662-46663-6_7","volume-title":"Compiler Construction","author":"N Allen","year":"2015","unstructured":"Allen, N., Scholz, B., Krishnan, P.: Staged points-to analysis for large code bases. In: Franke, B. (ed.) CC 2015. LNCS, vol. 9031, pp. 131\u2013150. Springer, Heidelberg (2015). https:\/\/doi.org\/10.1007\/978-3-662-46663-6_7"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Aref, M., et al.: Design and Implementation of the LogicBlox System. In: SIGMOD 2015, pp. 1371\u20131382. ACM (2015)","DOI":"10.1145\/2723372.2742796"},{"key":"10_CR5","unstructured":"Ball, T., Larus, J.R.: Efficient path profiling. In: Proceedings 29th Annual ACM\/IEEE International Symposium on Microarchitecture, pp. 46\u201357. MICRO 29 (1996)"},{"key":"10_CR6","doi-asserted-by":"crossref","unstructured":"Beeri, C., Fagin, R., Howard, J.H.: A complete axiomatization for functional and multivalued dependencies in database relations. In: Proceedings of the 1977 ACM SIGMOD International Conference on Management of Data, pp. 47\u201361 (1977)","DOI":"10.1145\/509404.509414"},{"key":"10_CR7","doi-asserted-by":"crossref","unstructured":"Bravenboer, M., Smaragdakis, Y.: Strictly declarative specification of sophisticated points-to analyses. In: Proceedings 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, pp. 243\u2013262 (2009)","DOI":"10.1145\/1639949.1640108"},{"key":"10_CR8","series-title":"Surveys in Computer Science","doi-asserted-by":"publisher","first-page":"246","DOI":"10.1007\/978-3-642-83952-8_12","volume-title":"Logic Programming and Databases","author":"S Ceri","year":"1990","unstructured":"Ceri, S., Gottlob, G., Tanca, L.: Overview of research prototypes for integrating relational databases and logic programming. In: Logic Programming and Databases. SURVEYS, pp. 246\u2013266. Springer, Heidelberg (1990). https:\/\/doi.org\/10.1007\/978-3-642-83952-8_12"},{"key":"10_CR9","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1023\/A:1018999404360","volume":"19","author":"F Giannotti","year":"2004","unstructured":"Giannotti, F., Greco, S., Sacc\u00e1, D., Zaniolo, C.: Programming with non-determinism in deductive databases. Ann. Math. Artif. Intell. 19, 97\u2013125 (2004)","journal-title":"Ann. Math. Artif. Intell."},{"key":"10_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1007\/3-540-55015-1_7","volume-title":"Deductive and Object-Oriented Databases","author":"F Giannotti","year":"1991","unstructured":"Giannotti, F., Pedreschi, D., Sacc\u00e0, D., Zaniolo, C.: Non-determinism in deductive databases. In: Delobel, C., Kifer, M., Masunaga, Y. (eds.) DOOD 1991. LNCS, vol. 566, pp. 129\u2013146. Springer, Heidelberg (1991). https:\/\/doi.org\/10.1007\/3-540-55015-1_7"},{"issue":"1","key":"10_CR11","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1006\/jcss.1999.1699","volume":"62","author":"F Giannotti","year":"2001","unstructured":"Giannotti, F., Pedreschi, D., Zaniolo, C.: Semantics and expressive power of nondeterministic constructs in deductive databases. J. Comput. Syst. Sci. 62(1), 15\u201342 (2001)","journal-title":"J. Comput. Syst. Sci."},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Grech, N., Brent, L., Scholz, B., Smaragdakis, Y.: Gigahorse: thorough, declarative decompilation of smart contracts. In: ICSE 2019, pp. 1176\u20131186. ACM (2019)","DOI":"10.1109\/ICSE.2019.00120"},{"key":"10_CR13","doi-asserted-by":"crossref","unstructured":"Grech, N., Kong, M., Jurisevic, A., Brent, L., Scholz, B., Smaragdakis, Y.: Madmax: surviving out-of-gas conditions in ethereum smart contracts. In: SPLASH 2018 OOPSLA (2018)","DOI":"10.1145\/3276486"},{"key":"10_CR14","doi-asserted-by":"crossref","unstructured":"Greco, S., Molinaro, C.: Datalog and logic databases. In: Synthesis Lectures on Data Management, vol. 10, pp. 47\u201357 (2016)","DOI":"10.1007\/978-3-031-01854-1"},{"key":"10_CR15","doi-asserted-by":"crossref","unstructured":"Greco, S., Sacc\u00e1, D., Zaniolo, C.: DATALOG queries with stratified negation and choice: from P to $$D^P$$. In: ICDT (1995)","DOI":"10.1007\/3-540-58907-4_8"},{"key":"10_CR16","unstructured":"Greco, S., Zaniolo, C.: Greedy algorithms in datalog with choice and negation. In: IJCSLP (1998)"},{"issue":"4","key":"10_CR17","doi-asserted-by":"publisher","first-page":"381","DOI":"10.1017\/S1471068401001090","volume":"1","author":"S Greco","year":"2001","unstructured":"Greco, S., Zaniolo, C.: Greedy algorithms in datalog. Theory Pract. Log. Program. 1(4), 381\u2013407 (2001)","journal-title":"Theory Pract. Log. Program."},{"key":"10_CR18","doi-asserted-by":"crossref","unstructured":"Greco, S., Zaniolo, C., Ganguly, S.: Greedy by choice. In: Proceedings 11th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, 2\u20134 June 1992, San Diego, California, USA, pp. 105\u2013113. ACM Press (1992)","DOI":"10.1145\/137097.137836"},{"issue":"3","key":"10_CR19","doi-asserted-by":"publisher","first-page":"367","DOI":"10.1145\/321832.321835","volume":"21","author":"MS Hecht","year":"1974","unstructured":"Hecht, M.S., Ullman, J.D.: Characterizations of reducible flow graphs. J. ACM (JACM) 21(3), 367\u2013375 (1974)","journal-title":"J. ACM (JACM)"},{"issue":"4","key":"10_CR20","doi-asserted-by":"publisher","first-page":"519","DOI":"10.1137\/0204044","volume":"4","author":"MS Hecht","year":"1975","unstructured":"Hecht, M.S., Ullman, J.D.: A simple algorithm for global data flow analysis problems. SIAM J. Comput. 4(4), 519\u2013532 (1975)","journal-title":"SIAM J. Comput."},{"issue":"7","key":"10_CR21","doi-asserted-by":"publisher","first-page":"28","DOI":"10.1109\/2.869367","volume":"33","author":"JL Henning","year":"2000","unstructured":"Henning, J.L.: SPEC CPU2000: measuring CPU performance in the new millennium. Computer 33(7), 28\u201335 (2000)","journal-title":"Computer"},{"key":"10_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"457","DOI":"10.1007\/978-3-642-22110-1_36","volume-title":"Computer Aided Verification","author":"K Hoder","year":"2011","unstructured":"Hoder, K., Bj\u00f8rner, N., de Moura, L.: $$\\mu $$Z \u2013 An efficient engine for fixed points with constraints. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 457\u2013462. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-22110-1_36"},{"key":"10_CR23","doi-asserted-by":"crossref","unstructured":"Hu, X., Karp, J., Zhao, D., Zreika, A., Wu, X., Scholz, B.: The choice construct in the souffle language (2021)","DOI":"10.1007\/978-3-030-89051-3_10"},{"key":"10_CR24","doi-asserted-by":"crossref","unstructured":"Huang, S.S., Green, T.J., Loo, B.T.: Datalog and Emerging Applications: An Interactive Tutorial. In: SIGMOD 2011, pp. 1213\u20131216. ACM (2011)","DOI":"10.1145\/1989323.1989456"},{"key":"10_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"422","DOI":"10.1007\/978-3-319-41540-6_23","volume-title":"Computer Aided Verification","author":"H Jordan","year":"2016","unstructured":"Jordan, H., Scholz, B., Suboti\u0107, P.: Souffl\u00e9: on synthesis of program analyzers. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9780, pp. 422\u2013430. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-41540-6_23"},{"key":"10_CR26","doi-asserted-by":"crossref","unstructured":"Jordan, H., Suboti\u0107, P., Zhao, D., Scholz, B.: A specialized B-Tree for concurrent datalog evaluation. In: PPoPP 2019, pp. 327\u2013339. ACM (2019)","DOI":"10.1145\/3293883.3295719"},{"key":"10_CR27","doi-asserted-by":"crossref","unstructured":"Krishnamurthy, R., Naqvi, S.: Non-deterministic choice in datalog. In: Proceedings International Conference on Data and Knowledge Bases, pp. 416\u2013424. Morgan Kaufmann (1988)","DOI":"10.1016\/B978-1-4832-1313-2.50038-X"},{"key":"10_CR28","doi-asserted-by":"crossref","unstructured":"Madsen, M., Yee, M.H., Lhot\u00e1k, O.: From datalog to flix: a declarative language for fixed points on lattices. In: PLDI 2016, pp. 194\u2013208. ACM (2016)","DOI":"10.1145\/2980983.2908096"},{"key":"10_CR29","unstructured":"Mendelzon, A.O.: Functional dependencies in logic programs. In: VLDB - Volume 11, pp. 324\u2013330. VLDB Endowment (1985)"},{"key":"10_CR30","volume-title":"A Logical Language for Data and Knowledge Bases","author":"SA Naqvi","year":"1989","unstructured":"Naqvi, S.A., Tsur, S.: A Logical Language for Data and Knowledge Bases. Computer Science Press, Cambridge (1989)"},{"key":"10_CR31","unstructured":"Ou, X., Govindavajhala, S., Appel, A.W.: MulVAL: a logic-based network security analyzer. In: Proceedings USENIX Security Symposium - Volume 14, p. 8. SSYM 2005. USENIX Association (2005)"},{"key":"10_CR32","series-title":"EATCS Monographs on Theoretical Computer Science","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1007\/978-3-642-69956-6_3","volume-title":"The Structure of the Relational Database Model","author":"J Paredaens","year":"1989","unstructured":"Paredaens, J., De Bra, P., Gyssens, M., Van Gucht, D.: Constraints. In: The Structure of the Relational Database Model. EATCS, vol. 17, pp. 61\u2013112. Springer, Heidelberg (1989). https:\/\/doi.org\/10.1007\/978-3-642-69956-6_3"},{"key":"10_CR33","doi-asserted-by":"crossref","unstructured":"Rayside, D., Kontogiannis, K.: A generic worklist algorithm for graph reachability problems in program analysis. In: Proceedings of the Sixth European Conference on Software Maintenance and Reengineering, pp. 67\u201376 (2002)","DOI":"10.1109\/CSMR.2002.995791"},{"key":"10_CR34","doi-asserted-by":"crossref","unstructured":"Scholz, B., Jordan, H., Suboti\u0107, P., Westmann, T.: On fast large-scale program analysis in datalog. In: CC 2016, pp. 196\u2013206. ACM (2016)","DOI":"10.1145\/2892208.2892226"},{"issue":"1","key":"10_CR35","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1016\/0898-1221(81)90008-0","volume":"7","author":"M Sharir","year":"1981","unstructured":"Sharir, M.: A strong-connectivity algorithm and its applications in data flow analysis. Computers & Mathematics with Applications 7(1), 67\u201372 (1981)","journal-title":"Computers & Mathematics with Applications"},{"issue":"2","key":"10_CR36","first-page":"141","volume":"12","author":"P Subotic","year":"2018","unstructured":"Subotic, P., Jordan, H., Chang, L., Fekete, A.D., Scholz, B.: Automatic Index Selection for Large-Scale Datalog Computation. PVLDB 12(2), 141\u2013153 (2018)","journal-title":"PVLDB"},{"key":"10_CR37","doi-asserted-by":"crossref","unstructured":"Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math. 5(2), 285\u2013309 (1955). https:\/\/projecteuclid.org:443\/euclid.pjm\/1103044538","DOI":"10.2140\/pjm.1955.5.285"},{"key":"10_CR38","volume-title":"Database Design","author":"G Wiederhold","year":"1983","unstructured":"Wiederhold, G.: Database Design, vol. 1077. McGraw-Hill New York, New York (1983)"},{"key":"10_CR39","doi-asserted-by":"crossref","unstructured":"Zhou, W., Sherr, M., Tao, T., Li, X., Loo, B.T., Mao, Y.: Efficient querying and maintenance of network provenance at internet-scale. In: SIGMOD, pp. 615\u2013626 (2010)","DOI":"10.1145\/1807167.1807234"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-89051-3_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,9]],"date-time":"2024-09-09T21:04:08Z","timestamp":1725915848000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-89051-3_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030890506","9783030890513"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-89051-3_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"12 October 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Chicago, IL","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 October 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 October 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/aplas-2021","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"HotCrp","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"43","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"17","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"40% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"5","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}