Towards Automated Strategies in Satisfiability Modulo Theory

SMT solvers include many heuristic components in order to ease the theorem proving process for different logics and problems. Handling these heuristics is a non-trivial task requiring specific knowledge of many theories that even a SMT solver developer may be unaware of. This is the first barrier to break in order to allow end-users to control heuristics aspects of any SMT solver and to successfully build a strategy for their own purposes. We present a first attempt for generating an automatic selection of heuristics in order to improve SMT solver efficiency and to allow end-users to take better advantage of solvers when unknown problems are faced. Evidence of improvement is shown and the basis for future works with evolutionary and/or learning-based algorithms are raised.

[1]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[2]  María Cristina Riff,et al.  A new algorithm for reducing metaheuristic design effort , 2013, 2013 IEEE Congress on Evolutionary Computation.

[3]  A. E. Eiben,et al.  Efficient relevance estimation and value calibration of evolutionary algorithm parameters , 2007, 2007 IEEE Congress on Evolutionary Computation.

[4]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[5]  Mark Harman,et al.  Software Engineering Meets Evolutionary Computation , 2011, Computer.

[6]  Frédéric Saubion,et al.  What Is Autonomous Search , 2011 .

[7]  Michel Gendreau,et al.  Hyper-heuristics: a survey of the state of the art , 2013, J. Oper. Res. Soc..

[8]  Leonardo Mendonça de Moura,et al.  The Strategy Challenge in SMT Solving , 2013, Automated Reasoning and Mathematics.

[9]  Mark Harman,et al.  Applying Genetic Improvement to MiniSAT , 2013, SSBSE.

[10]  Mark Harman,et al.  The role of Artificial Intelligence in Software Engineering , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).