{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:24Z","timestamp":1772164044335,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":65,"publisher":"ACM","license":[{"start":{"date-parts":[[2012,1,25]],"date-time":"2012-01-25T00:00:00Z","timestamp":1327449600000},"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":[[2012,1,25]]},"DOI":"10.1145\/2103656.2103675","type":"proceedings-article","created":{"date-parts":[[2012,1,24]],"date-time":"2012-01-24T11:47:19Z","timestamp":1327405639000},"page":"151-164","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":45,"title":["Constraints as control"],"prefix":"10.1145","author":[{"given":"Ali Sinan","family":"K\u00f6ksal","sequence":"first","affiliation":[{"name":"Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Viktor","family":"Kuncak","sequence":"additional","affiliation":[{"name":"Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philippe","family":"Suter","sequence":"additional","affiliation":[{"name":"Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,1,25]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/7160.001.0001","volume-title":"Warren's Abstract Machine: A Tutorial Reconstruction","author":"A\u00eft-Kaci H.","year":"1991","unstructured":"H. A\u00eft-Kaci . Warren's Abstract Machine: A Tutorial Reconstruction . MIT Press , 1991 . H. A\u00eft-Kaci. Warren's Abstract Machine: A Tutorial Reconstruction. MIT Press, 1991."},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/647706.734659"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1721654.1721675"},{"key":"e_1_3_2_2_4_1","volume-title":"Constraint logic programming using Eclipse","author":"Apt K. R.","year":"2007","unstructured":"K. R. Apt and M. Wallace . Constraint logic programming using Eclipse . Cambridge University Press , 2007 . K. R. Apt and M. Wallace. Constraint logic programming using Eclipse. Cambridge University Press, 2007."},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/293677.293679"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"crossref","unstructured":"R.-J. Back and J. von Wright. Refinement Calculus. Springer-Verlag 1998.  R.-J. Back and J. von Wright. Refinement Calculus. Springer-Verlag 1998.","DOI":"10.1007\/978-1-4612-1674-2"},{"key":"e_1_3_2_2_7_1","volume-title":"Verif. Reliab., 10 (3)","author":"Ball T.","year":"2000","unstructured":"T. Ball , D. Hoffman , F. Ruskey , R. Webber , and L. J. White . State generation and automated class testing. Softw. Test ., Verif. Reliab., 10 (3) , 2000 . T. Ball, D. Hoffman, F. Ruskey, R. Webber, and L. J. White. State generation and automated class testing. Softw. Test., Verif. Reliab., 10 (3), 2000."},{"key":"e_1_3_2_2_8_1","series-title":"LNCS","volume-title":"CAV","author":"Barrett C.","year":"2007","unstructured":"C. Barrett and C. Tinelli . CVC3 . In CAV , volume 4590 of LNCS , 2007 . C. Barrett and C. Tinelli. CVC3. In CAV, volume 4590 of LNCS, 2007."},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863543.1863560"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0019-9958(85)80027-9"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/566172.566191"},{"key":"e_1_3_2_2_12_1","first-page":"316","volume-title":"PADL","author":"Bra\u00dfel B.","year":"2008","unstructured":"B. Bra\u00dfel , M. Hanus , and M. M\u00fcller . High-level database programming in Curry . In PADL , pages 316 -- 332 , 2008 . B. Bra\u00dfel, M. Hanus, and M. M\u00fcller. High-level database programming in Curry. In PADL, pages 316--332, 2008."},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/351240.351266"},{"key":"e_1_3_2_2_14_1","first-page":"947","volume-title":"IJCAI","author":"Colmerauer A.","year":"1981","unstructured":"A. Colmerauer , H. Kanoui , and M. V. Caneghem . Last steps towards an ultimate PROLOG . In IJCAI , pages 947 -- 948 , 1981 . A. Colmerauer, H. Kanoui, and M. V. Caneghem. Last steps towards an ultimate PROLOG. In IJCAI, pages 947--948, 1981."},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949314"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066100.1066102"},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/360933.360975"},{"key":"e_1_3_2_2_19_1","volume-title":"The Yices SMT solver","author":"Dutertre B.","year":"2006","unstructured":"B. Dutertre and L. \\noopsort Mourade Moura . The Yices SMT solver , 2006 . http:\/\/yices.csl.sri.com\/tool-paper.pdf. B. Dutertre and L. \\noopsortMourade Moura. The Yices SMT solver, 2006. http:\/\/yices.csl.sri.com\/tool-paper.pdf."},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368222"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596550.1596556"},{"key":"e_1_3_2_2_22_1","first-page":"175","volume-title":"CAV","author":"Ganzinger H.","year":"2004","unstructured":"H. Ganzinger , G. Hagen , R. Nieuwenhuis , A. Oliveras , and C. Tinelli . DPLL(T): Fast decision procedures . In CAV , pages 175 -- 188 , 2004 . H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. DPLL(T): Fast decision procedures. In CAV, pages 175--188, 2004."},{"key":"e_1_3_2_2_23_1","first-page":"98","volume-title":"European Conference on Artificial Intelligence","author":"Gent I. P.","year":"2006","unstructured":"I. P. Gent , C. Jefferson , and I. Miguel . MINION: A fast, scalable, constraint solver . In European Conference on Artificial Intelligence , pages 98 -- 102 . IOS Press , 2006 . I. P. Gent, C. Jefferson, and I. Miguel. MINION: A fast, scalable, constraint solver. In European Conference on Artificial Intelligence, pages 98--102. IOS Press, 2006."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806835"},{"key":"e_1_3_2_2_25_1","volume-title":"Innovative Techniques and Applications of Artificial Intelligence","author":"Grabm\u00fcller M.","year":"2003","unstructured":"M. Grabm\u00fcller and P. Hofstedt . Turtle: A constraint imperative programming language . In Innovative Techniques and Applications of Artificial Intelligence , 2003 . M. Grabm\u00fcller and P. Hofstedt. Turtle: A constraint imperative programming language. In Innovative Techniques and Applications of Artificial Intelligence, 2003."},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993506"},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1140335.1140341"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-92995-6_2"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/226241.226249"},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/505145.505149"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/41625.41635"},{"key":"e_1_3_2_2_32_1","unstructured":"J. C. King. A Program Verifier. PhD thesis Carnegie Mellon University 1970.   J. C. King. A Program Verifier. PhD thesis Carnegie Mellon University 1970."},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/2032266.2032296"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(71)90012-9"},{"key":"e_1_3_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806632"},{"key":"e_1_3_2_2_36_1","unstructured":"L. Lamport. Specifying Systems: The TLA  L. Lamport. Specifying Systems: The TLA"},{"key":"e_1_3_2_2_37_1","unstructured":"Language and Tools for Hardware and Software Engineers. Addison-Wessley 2002.  Language and Tools for Hardware and Software Engineers. Addison-Wessley 2002."},{"key":"e_1_3_2_2_38_1","doi-asserted-by":"crossref","first-page":"313","DOI":"10.1007\/978-3-642-85983-0_12","volume-title":"Constraint Programming","author":"Lopez G.","year":"1994","unstructured":"G. Lopez , B. Freeman-Benson , and A. Borning . Kaleidoscope: A constraint imperative programming language . In Constraint Programming , pages 313 -- 329 . Springer-Verlag , 1994 . G. Lopez, B. Freeman-Benson, and A. Borning. Kaleidoscope: A constraint imperative programming language. In Constraint Programming, pages 313--329. Springer-Verlag, 1994."},{"key":"e_1_3_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2011.65"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/357084.357090"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14203-1_29"},{"key":"e_1_3_2_2_42_1","unstructured":"E. Michael Hanus. Curry: An integrated functional logic language. http:\/\/www.curry-language.org 2006. vers. 0.8.2.  E. Michael Hanus. Curry: An integrated functional logic language. http:\/\/www.curry-language.org 2006. vers. 0.8.2."},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985863"},{"key":"e_1_3_2_2_44_1","volume-title":"Programming from Specifications","author":"Morgan C.","year":"1994","unstructured":"C. Morgan . Programming from Specifications ( 2 nd ed.). Prentice-Hall, Inc. , 1994 . C. Morgan. Programming from Specifications (2nd ed.). Prentice-Hall, Inc., 1994.","edition":"2"},{"key":"e_1_3_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.5555\/1792734.1792766"},{"key":"e_1_3_2_2_46_1","volume-title":"Techniques for program verification. Technical report","author":"Nelson G.","year":"1981","unstructured":"G. Nelson . Techniques for program verification. Technical report , XEROX Palo Alto Research Center , 1981 . G. Nelson. Techniques for program verification. Technical report, XEROX Palo Alto Research Center, 1981."},{"key":"e_1_3_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/322186.322198"},{"key":"e_1_3_2_2_48_1","first-page":"529","volume-title":"Principles and Practice of Constraint Programming","author":"Nethercote N.","year":"2007","unstructured":"N. Nethercote , P. Stuckey , R. Becket , S. Brand , G. Duck , and G. Tack . MiniZinc: Towards a standard CP modelling language . Principles and Practice of Constraint Programming , pages 529 -- 543 , 2007 . N. Nethercote, P. Stuckey, R. Becket, S. Brand, G. Duck, and G. Tack. MiniZinc: Towards a standard CP modelling language. Principles and Practice of Constraint Programming, pages 529--543, 2007."},{"key":"e_1_3_2_2_49_1","unstructured":"R. Nilsson. Scalacheck user guide. http:\/\/code.google.com\/p\/scalacheck\/wiki\/UserGuide 2011.  R. Nilsson. Scalacheck user guide. http:\/\/code.google.com\/p\/scalacheck\/wiki\/UserGuide 2011."},{"key":"e_1_3_2_2_50_1","volume-title":"Contracts in Scala. In International Conference on Runtime Verification. Springer LNCS","author":"Odersky M.","year":"2010","unstructured":"M. Odersky . Contracts in Scala. In International Conference on Runtime Verification. Springer LNCS , 2010 . M. Odersky. Contracts in Scala. In International Conference on Runtime Verification. Springer LNCS, 2010."},{"key":"e_1_3_2_2_51_1","volume-title":"Programming in Scala: a comprehensive step-by-step guide","author":"Odersky M.","year":"2008","unstructured":"M. Odersky , L. Spoon , and B. Venners . Programming in Scala: a comprehensive step-by-step guide . Artima Press , 2008 . M. Odersky, L. Spoon, and B. Venners. Programming in Scala: a comprehensive step-by-step guide. Artima Press, 2008."},{"key":"e_1_3_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/571157.571169"},{"key":"e_1_3_2_2_53_1","unstructured":"L. C. Paulson T. Nipkow etal Isabelle theorem prover - official website. http:\/\/www.cl.cam.ac.uk\/Research\/HVG\/Isabelle.  L. C. Paulson T. Nipkow et al. Isabelle theorem prover - official website. http:\/\/www.cl.cam.ac.uk\/Research\/HVG\/Isabelle."},{"key":"e_1_3_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/75277.75293"},{"key":"e_1_3_2_2_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706356.1706373"},{"key":"e_1_3_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.5555\/1883978.1884015"},{"key":"e_1_3_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809990086"},{"key":"e_1_3_2_2_58_1","first-page":"220","volume-title":"ICCAD","author":"Silva J. P. M.","year":"1996","unstructured":"J. P. M. Silva and K. A. Sakallah . GRASP - a new search algorithm for satisfiability . In ICCAD , pages 220 -- 227 , 1996 . J. P. M. Silva and K. A. Sakallah. GRASP - a new search algorithm for satisfiability. In ICCAD, pages 220--227, 1996."},{"key":"e_1_3_2_2_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168907"},{"key":"e_1_3_2_2_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706299.1706325"},{"key":"e_1_3_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.5555\/2041552.2041575"},{"key":"e_1_3_2_2_63_1","unstructured":"The Coq Development Team; INRIA LogiCal Project. The Coq proof assistant - official website. http:\/\/coq.inria.fr.  The Coq Development Team; INRIA LogiCal Project. The Coq proof assistant - official website. http:\/\/coq.inria.fr."},{"key":"e_1_3_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.5555\/1763507.1763571"},{"key":"e_1_3_2_2_65_1","volume-title":"ICLP","author":"Roy P. Van","year":"1999","unstructured":"P. Van Roy . Logic programming in Oz with Mozart . In ICLP , 1999 . P. Van Roy. Logic programming in Oz with Mozart. In ICLP, 1999."},{"key":"e_1_3_2_2_66_1","first-page":"577","volume-title":"ECOOP","author":"Zaeem R. N.","year":"2010","unstructured":"R. N. Zaeem and S. Khurshid . Contract-based data structure repair using Alloy . In ECOOP , pages 577 -- 598 , 2010 . R. N. Zaeem and S. Khurshid. Contract-based data structure repair using Alloy. In ECOOP, pages 577--598, 2010."},{"key":"e_1_3_2_2_67_1","first-page":"279","volume-title":"ICCAD","author":"Zhang L.","year":"2001","unstructured":"L. Zhang , C. F. Madigan , M. W. Moskewicz , and S. Malik . Efficient conflict driven learning in boolean satisfiability solver . In ICCAD , pages 279 -- 285 , 2001 . L. Zhang, C. F. Madigan, M. W. Moskewicz, and S. Malik. Efficient conflict driven learning in boolean satisfiability solver. In ICCAD, pages 279--285, 2001."}],"event":{"name":"POPL '12: The 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","location":"Philadelphia PA USA","acronym":"POPL '12","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGACT ACM Special Interest Group on Algorithms and Computation Theory"]},"container-title":["Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2103656.2103675","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2103656.2103675","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:06:21Z","timestamp":1750226781000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2103656.2103675"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,1,25]]},"references-count":65,"alternative-id":["10.1145\/2103656.2103675","10.1145\/2103656"],"URL":"https:\/\/doi.org\/10.1145\/2103656.2103675","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2103621.2103675","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2012,1,25]]},"assertion":[{"value":"2012-01-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}