Title
Optimizing Smt Solving Strategies By Learning With An Evolutionary Process
Abstract
This paper deals with program optimization, i.e., learning of more efficient programs. The programs we want to improve are Z3 solving strategies. Z3 is a SMT (SAT Modulo Theory) solver which is currently developed by Microsoft Research. We define strategy generators based on evolutionary processes. SMT solving strategies include various aspects that can affect the performance of a SMT solver dramatically. Each of these elements includes a huge amount of options which cannot be exploited without expert knowledge. We define a generic evolutionary algorithm based on genetic programming concepts. This strategy generation process aims at learning better strategies by successive improvements, using rules that can be combined in order to handle both structures and parameters of the strategies. We experiment 7 different strategies generators on 2 SMT logics (QF_LRA, QF_LIA). The results show that the learned strategies improve default strategies available in the solver.
Year
DOI
Venue
2018
10.1109/HPCS.2018.00132
PROCEEDINGS 2018 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS)
Keywords
Field
DocType
Program optimization, Genetic Programming, SAT modulo theory, Strategy Generation, Learning
Program optimization,Evolutionary algorithm,Modulo,Evolutionary computation,Genetic programming,Theoretical computer science,Solver,Satisfiability modulo theories
Conference
Citations 
PageRank 
References 
0
0.34
0
Authors
4
Name
Order
Citations
PageRank
Nicolás Gálvez Ramírez100.34
Eric Monfroy257963.05
Frédéric Saubion331237.00
Carlos Castro425529.05