Article thumbnail

Optimizing SMT Solving Strategies by Learning with an Evolutionary Process

By N. Gálvez Ramírez, E. Monfroy, F. Saubion and C. Castro


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

Publisher: 'Institute of Electrical and Electronics Engineers (IEEE)'
Year: 2018
OAI identifier:
Provided by: Okina

Suggested articles

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.