789 research outputs found
Optimizing SMT Solving Strategies by Learning with an Evolutionary Process
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
Multi-surrogate Assisted Efficient Global Optimization for Discrete Problems
Decades of progress in simulation-based surrogate-assisted optimization and
unprecedented growth in computational power have enabled researchers and
practitioners to optimize previously intractable complex engineering problems.
This paper investigates the possible benefit of a concurrent utilization of
multiple simulation-based surrogate models to solve complex discrete
optimization problems. To fulfill this, the so-called Self-Adaptive
Multi-surrogate Assisted Efficient Global Optimization algorithm (SAMA-DiEGO),
which features a two-stage online model management strategy, is proposed and
further benchmarked on fifteen binary-encoded combinatorial and fifteen ordinal
problems against several state-of-the-art non-surrogate or single surrogate
assisted optimization algorithms. Our findings indicate that SAMA-DiEGO can
rapidly converge to better solutions on a majority of the test problems, which
shows the feasibility and advantage of using multiple surrogate models in
optimizing discrete problems
ML + FV = ? A Survey on the Application of Machine Learning to Formal Verification
Formal Verification (FV) and Machine Learning (ML) can seem incompatible due
to their opposite mathematical foundations and their use in real-life problems:
FV mostly relies on discrete mathematics and aims at ensuring correctness; ML
often relies on probabilistic models and consists of learning patterns from
training data. In this paper, we postulate that they are complementary in
practice, and explore how ML helps FV in its classical approaches: static
analysis, model-checking, theorem-proving, and SAT solving. We draw a landscape
of the current practice and catalog some of the most prominent uses of ML
inside FV tools, thus offering a new perspective on FV techniques that can help
researchers and practitioners to better locate the possible synergies. We
discuss lessons learned from our work, point to possible improvements and offer
visions for the future of the domain in the light of the science of software
and systems modeling.Comment: 13 pages, no figures, 3 table
- âŠ