Abstract
Modern SAT solvers are extremely efficient at solving boolean satisfiability problems, enabling a wide spectrum of techniques for checking, verifying, and validating real-world programs. What remains challenging, though, is how to encode a domain problem (e.g., model checking) into a SAT formula because the same problem can have multiple distinct encodings, which can yield performance results that are orders-of-magnitude apart, regardless of the underlying solvers used. We develop Satune, a tool that can automatically synthesize SAT encoders for different problem domains. Satune employs a DSL that allows developers to express domain problems at a high level and a search algorithm that can effectively find efficient solutions. The search process is guided by observations made over example encodings and their performance for the domain and hence Satune can quickly synthesize a high-performance encoder by incorporating patterns from examples that yield good performance. A thorough evaluation with JMCR, SyPet, Dirk, Hexiom, Sudoku, and KillerSudoku demonstrates that Satune can easily synthesize high-performance encoders for different domains including model checking, synthesis, and games. These encoders generate constraint problems that are often several orders of magnitude faster to solve than the original encodings used by the tools.
Supplemental Material
- Amir Aavani. 2011. Translating Pseudo-Boolean Constraints into CNF. In Theory and Applications of Satisfiability Testing-SAT 2011, Karem A. Sakallah and Laurent Simon (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 357-359.Google Scholar
Cross Ref
- Amir Aavani, Xiongnan (Newman) Wu, Shahab Tasharrofi, Eugenia Ternovska, and David Mitchell. 2012. Enfragmo: A System for Modelling and Solving Search Problems with Logic. In Logic for Programming, Artificial Intelligence, and Reasoning, Nikolaj Bjørner and Andrei Voronkov (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 15-22.Google Scholar
- Ignasi Abío and Peter J Stuckey. 2014. Encoding linear constraints into SAT. In International Conference on Principles and Practice of Constraint Programming. Springer, 75-91.Google Scholar
Cross Ref
- Airobert. 2016. SAT Based Killer Sudoku. https://github.com/UvA-KR16/KilerSudokuGoogle Scholar
- Taufan Ardi. 2015. SAT Based Sudoku Solver in Python. https://github.com/taufanardi/sudoku-sat-solverGoogle Scholar
- Gilles Audemard and Laurent Simon. 2009. Predicting Learnt Clauses Quality in Modern SAT Solvers. In Proceedings of the 21st International Joint Conference on Artifical Intelligence (Pasadena, California, USA). Morgan Kaufmann Publishers Inc., 399-404.Google Scholar
Digital Library
- Gilles Audemard and Laurent Simon. 2014. Lazy Clause Exchange Policy for Parallel SAT Solvers. In Theory and Applications of Satisfiability Testing (SAT '14). 197-205.Google Scholar
- Gilles Audemard and Laurent Simon. 2015. Glucose and Syrup in the SAT Race 2015.Google Scholar
- Olivier Bailleux and Yacine Boufkhad. 2003. Eficient CNF Encoding of Boolean Cardinality Constraints, Vol. 2833. 108-122. https://doi.org/10.1007/978-3-540-45193-8_8 Google Scholar
Digital Library
- Olivier Bailleux, Yacine Boufkhad, and Olivier Roussel. 2009. New Encodings of Pseudo-Boolean Constraints into CNF, Vol. 5584. 181-194. https://doi.org/10.1007/978-3-642-02777-2_19 Google Scholar
Digital Library
- Clark Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovi'c, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. CVC4. In Proceedings of the 23rd International Conference on Computer Aided Verification (CAV '11) (Lecture Notes in Computer Science, Vol. 6806 ), Ganesh Gopalakrishnan and Shaz Qadeer (Eds.). Springer, 171-177. http://www.cs.stanford.edu/~barrett/pubs/BCD+11.pdf Snowbird, Utah.Google Scholar
Digital Library
- Mark Batty, Scott Owens, Susmit Sarkar, Peter Sewell, and Tjark Weber. 2011. Mathematizing C+ + Concurrency. In Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages.Google Scholar
Digital Library
- Ramón Béjar and Felip Manya. 2000. Solving the round robin problem using propositional logic. In AAAI/IAAI. 262-266.Google Scholar
- Armin Biere. 2008. PicoSAT essentials. Journal on Satisfiability, Boolean Modeling and Computation 4 ( 2008 ), 75-97.Google Scholar
- Armin Biere, Daniel Le Berre, Emmanuel Lonca, and Norbert Manthey. 2014. Detecting Cardinality Constraints in CNF. In Theory and Applications of Satisfiability Testing-SAT 2014, Carsten Sinz and Uwe Egly (Eds.). Springer International Publishing, Cham, 285-301.Google Scholar
- Magnus Björk. 2009. Successful SAT Encoding Techniques. Journal on Satisfiability, Boolean Modeling, and Computation 7 (July 2009 ), 189-201.Google Scholar
Cross Ref
- Jasmin Christian Blanchette, Tjark Weber, Mark Batty, Scott Owens, and Susmit Sarkar. 2011. Nitpicking C+ + Concurrency. In Proceedings of the 13th International ACM SIGPLAN Symposium on Principles and Practices of Declarative Programming. 113-124. http://doi.acm.org/10.1145/2003476.2003493 Google Scholar
Digital Library
- Lucas Bordeaux and Joao Marques-Silva. 2012. Knowledge compilation with empowerment. In International Conference on Current Trends in Theory and Practice of Computer Science. Springer, 612-624.Google Scholar
Digital Library
- Thomas Bouton, Diego Caminha B de Oliveira, David Déharbe, and Pascal Fontaine. 2009. veriT: an open, trustable and eficient SMT-solver. In International Conference on Automated Deduction. Springer, 151-156.Google Scholar
Digital Library
- Martin Brain, Liana Hadarean, Daniel Kroening, and Ruben Martins. 2016. Automatic Generation of Propagation Complete SAT Encodings. In Verification, Model Checking, and Abstract Interpretation, Barbara Jobstmann and K. Rustan M. Leino (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 536-556.Google Scholar
- Robert Brummayer and Armin Biere. 2009. Boolector: An Eficient SMT Solver for Bit-Vectors and Arrays. In TACAS (Lecture Notes in Computer Science, Vol. 5505 ). Springer, 174-177.Google Scholar
- Roberto Bruttomesso, Alessandro Cimatti, Anders Franzén, Alberto Griggio, and Roberto Sebastiani. 2008. The MathSATÃĆÂă4 SMT Solver. In Computer Aided Verification, Aarti Gupta and Sharad Malik (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 299-303.Google Scholar
- Sebastian Burckhardt, Rajeev Alur, and Milo MK Martin. 2007. CheckFence: Checking consistency of concurrent data types on relaxed memory models. In ACM SIGPLAN Notices, Vol. 42. ACM, 12-21.Google Scholar
Digital Library
- Bertrand Cabon, Simon de Givry, Lionel Lobjois, Thomas Schiex, and Joost Warners. 1999. Radio Link Frequency Assignment. Constraints 4 ( 02 1999 ), 79-89. https://doi.org/10.1023/A:1009812409930 Google Scholar
Digital Library
- Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: Unassisted and Automatic Generation of High-coverage Tests for Complex Systems Programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation. 209-224.Google Scholar
- B. Chambers, P. Manolios, and D. Vroon. 2009. Faster SAT solving with better CNF generation. In 2009 Design, Automation & Test in Europe Conference & Exhibition (DATE).Google Scholar
- Yury Chebiryak and Daniel Kroening. 2008. An eficient SAT encoding of circuit codes. In 2008 International Symposium on Information Theory and Its Applications. IEEE, 1-4.Google Scholar
Cross Ref
- Jingchao Chen. 2010. A new SAT encoding of the at-most-one constraint. Proc. Constraint Modelling and Reformulation ( 2010 ).Google Scholar
- Insang Chung. 2017. A SAT-based method for basis path testing using KodKod. International Journal of Applied Engineering Research 12, 18 ( 2017 ), 7294-7305.Google Scholar
- Koen Claessen and Niklas SÃűrensson. 2003. New Techniques that Improve MACE-style Finite Model Finding. In Proceedings of the CADE-19 Workshop: Model Computation-Principles, Algorithms, Applications.Google Scholar
- Florian Corzilius, Gereon Kremer, Sebastian Junges, Stefan Schupp, and Erika Ábrahám. 2015. SMT-RAT: An Open Source C++ Toolbox for Strategic and Parallel SMT Solving. In Theory and Applications of Satisfiability Testing-SAT 2015, Marijn Heule and Sean Weaver (Eds.). Springer International Publishing, Cham, 360-368.Google Scholar
Cross Ref
- Martin Davis, George Logemann, and Donald W. Loveland. 1962. A machine program for theorem-proving. Commun. ACM 5, 7 ( 1962 ), 394-397. https://doi.org/10.1145/368273.368557 Google Scholar
Digital Library
- Martin Davis and Hilary Putnam. 1960. A Computing Procedure for Quantification Theory. J. ACM 7, 3 ( 1960 ), 201-215. https://doi.org/10.1145/321033.321034 Google Scholar
Digital Library
- Leonardo de Moura and Nikolaj Bjørner. 2008. Z3: An Eficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings (Lecture Notes in Computer Science, Vol. 4963 ). Springer, 337-340.Google Scholar
Cross Ref
- Brian Demsky and Patrick Lam. 2015. SATCheck: SAT-directed stateless model checking for SC and TSO. In ACM SIGPLAN Notices, Vol. 50. ACM, 20-36.Google Scholar
Digital Library
- Ankush Desai, Vivek Gupta, Ethan Jackson, Shaz Qadeer, Sriram Rajamani, and Damien Zuferey. 2013. P: Safe Asynchronous Event-driven Programming. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation. 321-332.Google Scholar
Digital Library
- Isil Dillig, Thomas Dillig, and Alex Aiken. 2008. Sound, Complete and Scalable Path-sensitive Analysis. In Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation. 270-280.Google Scholar
Digital Library
- Bruno Dutertre and Leonardo de Moura. 2006. The Yices SMT solver. Technical Report. SRI International.Google Scholar
- Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, and Thomas W. Reps. 2017a. Component-based Synthesis for Complex APIs. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (Paris, France) (POPL 2017 ). ACM, New York, NY, USA, 599-612. https://doi.org/10.1145/3009837.3009851 Google Scholar
Digital Library
- Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, and Thomas W. Reps. 2017b. SyPet. https://github.com/utopiagroup/sypetGoogle Scholar
- Cormac Flanagan and Shaz Qadeer. 2002. Predicate Abstraction for Software Verification. In Proceedings of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 191-202.Google Scholar
Digital Library
- Alan M. Frisch and Paul A. Giannaros. 2010. SAT Encodings of the At-Most-k Constraint. Some Old, Some New, Some Fast, Some Slow. In Proceedings of the Tenth International Workshop of Constraint Modelling and Reformulation.Google Scholar
- Vijay Ganesh and David L. Dill. 2007. A Decision Procedure for Bit-vectors and Arrays. In Proceedings of the 19th International Conference on Computer Aided Verification (Berlin, Germany). 519-531. http://dl.acm.org/citation.cfm?id= 1770351. 1770421Google Scholar
- Gecode. 2016. Generic Constraint Development Environment. https://www.gecode.org/Google Scholar
- Ian Gent, Lars Kotthof, Ian Miguel, and Peter Nightingale. 2010. Machine learning for constraint solver design-A case study for the alldiferent constraint. arXiv preprint arXiv:1008.4326 ( 2010 ).Google Scholar
- Ian P Gent and Inês Lynce. 2005. A SAT encoding for the social golfer problem. Modelling and Solving Problems with Constraints 2 ( 2005 ).Google Scholar
- Patrice Godefroid, Nils Klarlund, and Koushik Sen. 2005. DART: Directed Automated Random Testing. In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation. 213-223.Google Scholar
Digital Library
- Hugo Musso Gualandi. 2012. Using an industrial-strength SAT solver to solve the Hexiom puzzle. https://github.com/hugomg/ hexiomGoogle Scholar
- Shai Haim and Toby Walsh. 2009. Restart strategy selection using machine learning techniques. In International Conference on Theory and Applications of Satisfiability Testing. Springer, 312-325.Google Scholar
Digital Library
- Stefen Hölldobler and Van-Hau Nguyen. 2013. An Eficient Encoding of the at-most-one Constraint.Google Scholar
- Jef Huang. 2015a. Stateless Model Checking Concurrent Programs with Maximal Causality Reduction. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (Portland, OR, USA). 165-174. https://doi.org/10.1145/2737924.2737975 Google Scholar
Digital Library
- Jef Huang. 2015b. Stateless Model Checking Concurrent Programs with Maximal Causality Reduction. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (Portland, OR, USA) ( PLDI '15). ACM, New York, NY, USA, 165-174. https://doi.org/10.1145/2737924.2737975 Google Scholar
Digital Library
- Jef Huang, Patrick O'Neil Meredith, and Grigore Rosu. 2014. Maximal Sound Predictive Race Detection with Control Flow Abstraction. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (Edinburgh, United Kingdom). 337-348. https://doi.org/10.1145/2594291.2594315 Google Scholar
Digital Library
- Jeevana Priya Inala, Rohit Singh, and Armando Solar-Lezama. 2016. Synthesis of Domain Specific CNF Encoders for Bit-Vector Solvers. In SAT (Lecture Notes in Computer Science, Vol. 9710 ). Springer, 302-320.Google Scholar
- SMT LIB Initiative. 2018. SMT-LIB The Satisfiability Modulo Theories Library. http://smtlib.cs.uiowa.edu/index.shtmlGoogle Scholar
- Markus Iser, Mana Taghdiri, and Carsten Sinz. 2012. Optimizing MiniSAT Variable Orderings for the Relational Model Finder Kodkod. In Theory and Applications of Satisfiability Testing-SAT 2012, Alessandro Cimatti and Roberto Sebastiani (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 483-484.Google Scholar
Digital Library
- Daniel Jackson. 2002. Alloy: A lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology 11, 2 ( 2002 ), 256-290.Google Scholar
Digital Library
- Susmit Jha, Rhishikesh Limaye, and Sanjit A. Seshia. 2009. Beaver: Engineering an Eficient SMT Solver for Bit-Vector Artithmetic. In Proc. 21st International Conference on Computer-Aided verification (CAV) (Lecture Notes in Computer Science, Vol. 5643 ). 668-674.Google Scholar
- Christian Gram Kalhauge and Jens Palsberg. 2018. Sound Deadlock Prediction. Proc. ACM Program. Lang. 2, OOPSLA, Article 146 (Oct. 2018 ), 29 pages. https://doi.org/10.1145/3276516 Google Scholar
Digital Library
- Henry Kautz and Bart Selman. 2006. SATPLAN04: Planning as satisfiability. Working Notes on the Fifth International Planning Competition (IPC-2006) ( 2006 ), 45-46.Google Scholar
- Henry A. Kautz and Bart Selman. 2003. Ten Challenges Redux: Recent Progress in Propositional Reasoning and Search. In Principles and Practice of Constraint Programming-CP 2003, 9th International Conference, CP 2003, Kinsale, Ireland, September 29-October 3, 2003, Proceedings. 1-18.Google Scholar
- Will Klieber and Gihwon Kwon. 2007a. Eficient CNF Encoding for Selecting 1 from N Objects.Google Scholar
- Will Klieber and Gihwon Kwon. 2007b. Eficient CNF Encoding for Selecting 1 from N Objects. In Proceedings of the Fourth Workshop on Constraint in Formal Verification.Google Scholar
- Wolfgang Kuechlin and Carsten Sinz. 2000. Proving Consistency Assertions for Automotive Product Data Management. J. Autom. Reasoning 24 (02 2000 ), 145-163. https://doi.org/10.1023/A:1006370506164 Google Scholar
Digital Library
- Vitaly Kurin, Saad Godil, Shimon Whiteson, and Bryan Catanzaro. 2019. Improving SAT Solver Heuristics with Graph Networks and Reinforcement Learning. arXiv: 1909. 11830 [cs.LG]Google Scholar
- Daniel Le Berre and Anne Parrain. 2010. The Sat4j library, release 2.2. JSAT 7 ( 01 2010 ), 59-6.Google Scholar
- Jia Hui Liang, Vijay Ganesh, Pascal Poupart, and Krzysztof Czarnecki. 2016. Learning Rate Based Branching Heuristic for SAT Solvers. In SAT (Lecture Notes in Computer Science, Vol. 9710 ). Springer, 123-140.Google Scholar
- Jia Hui Liang, Chanseok Oh, Minu Mathew, Ciza Thomas, Chunxiao Li, and Vijay Ganesh. 2018. Machine Learning-Based Restart Policy for CDCL SAT Solvers. In International Conference on Theory and Applications of Satisfiability Testing. Springer, 94-110.Google Scholar
- InÃłs Lynce and JoÃńl Ouaknine. 2006. Sudoku as a SAT problem.Google Scholar
- Panagiotis Manolios and Daron Vroon. 2007. Eficient Circuit to CNF Conversion. In Proceedings of the 10th International Conference on Theory and Applications of Satisfiability Testing (SAT).Google Scholar
Digital Library
- Norbert Manthey, Marijn JH Heule, and Armin Biere. 2012. Automated reencoding of boolean formulas. In Haifa Verification Conference. Springer, 102-117.Google Scholar
- R. Martins, V. Manquinho, and I. Lynce. 2011. Exploiting Cardinality Encodings in Parallel Maximum Satisfiability. In 2011 IEEE 23rd International Conference on Tools with Artificial Intelligence. 313-320.Google Scholar
- Y. Matsunaga. 2015. Accelerating SAT-based Boolean matching for heterogeneous FPGAs using one-hot encoding and CEGAR technique. In The 20th Asia and South Pacific Design Automation Conference. 255-260.Google Scholar
Cross Ref
- Amit Metodi and Michael Codish. 2012. Compiling finite domain constraints to SAT with BEE. Theory and Practice of Logic Programming 12, 4-5 ( 2012 ), 465-483.Google Scholar
Digital Library
- Cuong Nguyen, Hiroaki Yoshida, Mukul Prasad, Indradeep Ghosh, and Koushik Sen. 2015. Generating Succinct Test Cases Using Don't Care Analysis. In 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST). IEEE, 1-10.Google Scholar
Cross Ref
- Eoin O'Mahony, Emmanuel Hebrard, Alan Holland, Conor Nugent, and Barry O'Sullivan. 2008. Using case-based reasoning in an algorithm portfolio for constraint solving. In Irish conference on artificial intelligence and cognitive science. 210-216.Google Scholar
- Uwe Pfeifer, Tomas Karnagel, and Guido Schefler. 2013. A Sudoku-Solver for Large Puzzles using SAT. In LPAR-17-short. short papers for 17th International Conference on Logic for Programming, Artificial intelligence, and Reasoning. (EPiC Series in Computing, Vol. 13 ), Andrei Voronkov, Geof Sutclife, Matthias Baaz, and Christian Ferm\ "uller (Eds.). EasyChair, 52-57. https://doi.org/10.29007/79mc Google Scholar
Cross Ref
- Jussi Rintanen. 2014. Madagascar: Scalable planning with SAT. Proceedings of the 8th International Planning Competition (IPC-2014 ) 21 ( 2014 ).Google Scholar
- Nathan Robinson, Charles Gretton, Duc Nghia Pham, and Abdul Sattar. 2008. A Compact and Eficient SAT Encoding for Planning.. In ICAPS. 296-303.Google Scholar
- Marko Samer and Helmut Veith. 2009. Encoding treewidth into SAT. In International Conference on Theory and Applications of Satisfiability Testing. Springer, 45-50.Google Scholar
Digital Library
- Koushik Sen, Swaroop Kalasapur, Tasneem Brutch, and Simon Gibbs. 2013. Jalangi: a selective record-replay and dynamic analysis framework for JavaScript. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. 488-498.Google Scholar
Digital Library
- Koushik Sen, Darko Marinov, and Gul Agha. 2005. CUTE: A Concolic Unit Testing Engine for C. In Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 263-272.Google Scholar
Cross Ref
- Qingkai Shi, Xiao Xiao, Rongxin Wu, Jinguo Zhou, Gang Fan, and Charles Zhang. 2018. Pinpoint: Fast and Precise Sparse Value Flow Analysis for Million Lines of Code. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (Philadelphia, PA, USA). 693-706.Google Scholar
Digital Library
- Helgi Sigurbjarnarson, James Bornholt, Emina Torlak, and Xi Wang. 2016. Push-Button Verification of File Systems via Crash Refinement. In 12th USENIX Symposium on Operating Systems Design and Implementation. 1-16.Google Scholar
- Rishabh Singh, Joseph P. Near, Vijar Ganesh, and Martin Rinard. 2009. AvatarSAT: An Auto-Tuning Boolean SAT Solver. Technical Report MIT-CSAIL-TR-2009-039. Massachusetts Institute of Technology.Google Scholar
- Rohit Singh and Armando Solar-Lezama. 2016. SWAPPER: A framework for automatic generation of formula simplifiers based on conditional rewrite rules. In FMCAD. IEEE, 185-192.Google Scholar
- Carsten Sinz. 2005. Towards an Optimal CNF Encoding of Boolean Cardinality Constraints. In Principles and Practice of Constraint Programming-CP 2005, Peter van Beek (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 827-831.Google Scholar
Digital Library
- Naoyuki Tamura, Mutsunori Banbara, and Takehide Soh. 2013. Compiling pseudo-boolean constraints to SAT with order encoding. In 2013 IEEE 25th International Conference on Tools with Artificial Intelligence. IEEE, 1020-1027.Google Scholar
Digital Library
- Naoyuki Tamura, Akiko Taga, Satoshi Kitagawa, and Mutsunori Banbara. 2009. Compiling finite linear CSP into SAT. Constraints 14, 2 ( 2009 ), 254-272.Google Scholar
- Tomoya Tanjo, Naoyuki Tamura, and Mutsunori Banbara. 2011. A compact and eficient SAT-encoding of finite domain CSP. In International Conference on Theory and Applications of Satisfiability Testing. Springer, 375-376.Google Scholar
- Tomoya Tanjo, Naoyuki Tamura, and Mutsunori Banbara. 2012. Azucar: A SAT-Based CSP Solver Using Compact Order Encoding. In Theory and Applications of Satisfiability Testing-SAT 2012, Alessandro Cimatti and Roberto Sebastiani (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 456-462.Google Scholar
- Haruto Tanno, Xiaojing Zhang, Takashi Hoshino, and Koushik Sen. 2015. TesMa and CATG: automated test generation tools for models of enterprise applications. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. IEEE, 717-720.Google Scholar
Cross Ref
- Nils Timm, Stefan Gruner, and Prince Sibanda. 2017. Model Checking of Concurrent Software Systems via Heuristic-Guided SAT Solving. In International Conference on Fundamentals of Software Engineering. Springer, 244-259.Google Scholar
Cross Ref
- Emina Torlak and Daniel Jackson. 2007. Kodkod: A Relational Model Finder. In Tools and Algorithms for the Construction and Analysis of Systems, 13th International Conference, TACAS 2007, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2007 Braga, Portugal, March 24-April 1, 2007, Proceedings. 632-647.Google Scholar
- Emina Torlak, Mandana Vaziri, and Julian Dolby. 2010. MemSAT: Checking Axiomatic Specifications of Memory Models. In Proceedings of the 2010 Conference on Programming Language Design and Implementation. 341-350. http://doi.acm.org/10. 1145/1809028.1806635 Google Scholar
Digital Library
- Fatih Turkmen, Jerry den Hartog, Silvio Ranise, and Nicola Zannone. 2015. Analysis of XACML policies with SMT. In International Conference on Principles of Security and Trust. Springer, 115-134.Google Scholar
Digital Library
- Peter JM Van Laarhoven and Emile HL Aarts. 1987. Simulated annealing. In Simulated annealing: Theory and applications. Springer, 7-15.Google Scholar
- Joost P. Warners. 1998. A linear-time transformation of linear inequalities into conjunctive normal form. Inform. Process. Lett. 68, 2 ( 1998 ), 63-69. https://doi.org/10.1016/S0020-0190 ( 98 ) 00144-6 Google Scholar
Digital Library
- Tjark Weber. 2005. A SAT-based Sudoku Solver. In LPAR-12, The 12th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning, Short Paper Proceedings, Geof Sutclife and Andrei Voronkov (Eds.). 11-15.Google Scholar
- TED WINOGRAD and HAMID MAHMOODI. 2009. Programmable Gates Using Hybrid CMOS-STT Design to Prevent IC Reverse Engineering. ( 2009 ).Google Scholar
- Haoze Wu. 2017. Improving SAT-solving with Machine Learning. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). ACM, New York, NY, USA, 787-788. http://doi.acm.org/10.1145/3017680. 3022464 Google Scholar
Digital Library
- Yichen Xie and Alex Aiken. 2005. Saturn: A SAT-based tool for bug detection. In International Conference on Computer Aided Verification. Springer, 139-143.Google Scholar
Digital Library
- Lin Xu, Frank Hutter, Holger H Hoos, and Kevin Leyton-Brown. 2008. SATzilla: portfolio-based algorithm selection for SAT. Journal of artificial intelligence research 32 ( 2008 ), 565-606.Google Scholar
- Cunxi Yu, Xiangyu Zhang, Duo Liu, Maciej Ciesielski, and Daniel Holcomb. 2017. Incremental SAT-based reverse engineering of camouflaged logic circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 36, 10 ( 2017 ), 1647-1659.Google Scholar
Digital Library
- Hantao Zhang, Dapeng Li, and Haiou Shen. 2004. A SAT Based Scheduler for Tournament Schedules.. In SAT.Google Scholar
- Neng-Fa Zhou. 2020. Yet Another Comparison of SAT Encodings for the At-Most-K Constraint. arXiv: 2005. 06274 [cs.LO]Google Scholar
- Zhiqiang Zuo, John Thorpe, Yifei Wang, Qiuhong Pan, Shenming Lu, Kai Wang, Guoqing Harry Xu, Linzhang Wang, and Xuandong Li. 2019. Grapple: A Graph System for Static Finite-State Property Checking of Large-Scale System Code. In Proceedings of European Computer System Conference.Google Scholar
Digital Library
Index Terms
Satune: synthesizing efficient SAT encoders
Recommendations
Application of Hierarchical Hybrid Encodings to Efficient Translation of CSPs to SAT
ICTAI '13: Proceedings of the 2013 IEEE 25th International Conference on Tools with Artificial IntelligenceSolving Constraint Satisfaction Problems (CSPs) through Boolean Satisfiability (SAT) requires suitable encodings for translating CSPs to equivalent SAT instances that can not only be efficiently generated, but also efficiently solved by SAT solvers. In ...
SAT Encodings of Finite-CSP Domains: A Survey
SoICT '17: Proceedings of the 8th International Symposium on Information and Communication TechnologyMany real-world applications can be expressed as constraint satisfaction problems (CSPs), although hardly any problems are originally given by SAT formulas. Nevertheless, to benefit from powerful SAT solvers, many SAT encodings of CSPs have been studied ...
A New Method to Encode the At-Most-One Constraint into SAT
SoICT '15: Proceedings of the 6th International Symposium on Information and Communication TechnologyOne of the most widely used constraints during the process of translating a practical problem into a propositional satisfiability (SAT) instance is the at-most-one (AMO) constraint. This paper proposes a new encoding for the AMO constraint, the so-...






Comments