Predicting SMT Solver Performance for Software Verification

F-IDE@FM Pub Date : 2017-01-27 DOI:10.4204/EPTCS.240.2
Andrew Healy, Rosemary Monahan, James F. Power
{"title":"Predicting SMT Solver Performance for Software Verification","authors":"Andrew Healy, Rosemary Monahan, James F. Power","doi":"10.4204/EPTCS.240.2","DOIUrl":null,"url":null,"abstract":"The approach Why3 takes to interfacing with a wide variety of interactive \nand automatic theorem provers works well: it is designed to overcome \nlimitations on what can be proved by a system which relies on a single \ntightly-integrated solver. In common with other systems, however, the degree \nto which proof obligations (or “goals”) are proved depends as much on \nthe SMT solver as the properties of the goal itself. In this work, we present a \nmethod to use syntactic analysis to characterise goals and predict the most \nappropriate solver via machine-learning techniques. \nCombining solvers in this way - a portfolio-solving approach - maximises \nthe number of goals which can be proved. The driver-based architecture of \nWhy3 presents a unique opportunity to use a portfolio of SMT solvers for \nsoftware verification. The intelligent scheduling of solvers minimises the \ntime it takes to prove these goals by avoiding solvers which return Timeout \nand Unknown responses. We assess the suitability of a number of machinelearning \nalgorithms for this scheduling task. \nThe performance of our tool Where4 is evaluated on a dataset of proof \nobligations. We compare Where4 to a range of SMT solvers and theoretical \nscheduling strategies. We find that Where4 can out-perform individual \nsolvers by proving a greater number of goals in a shorter average time. \nFurthermore, Where4 can integrate into a Why3 user’s normal workflow - \nsimplifying and automating the non-expert use of SMT solvers for software \nverification.","PeriodicalId":339743,"journal":{"name":"F-IDE@FM","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-01-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"F-IDE@FM","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4204/EPTCS.240.2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

Abstract

The approach Why3 takes to interfacing with a wide variety of interactive and automatic theorem provers works well: it is designed to overcome limitations on what can be proved by a system which relies on a single tightly-integrated solver. In common with other systems, however, the degree to which proof obligations (or “goals”) are proved depends as much on the SMT solver as the properties of the goal itself. In this work, we present a method to use syntactic analysis to characterise goals and predict the most appropriate solver via machine-learning techniques. Combining solvers in this way - a portfolio-solving approach - maximises the number of goals which can be proved. The driver-based architecture of Why3 presents a unique opportunity to use a portfolio of SMT solvers for software verification. The intelligent scheduling of solvers minimises the time it takes to prove these goals by avoiding solvers which return Timeout and Unknown responses. We assess the suitability of a number of machinelearning algorithms for this scheduling task. The performance of our tool Where4 is evaluated on a dataset of proof obligations. We compare Where4 to a range of SMT solvers and theoretical scheduling strategies. We find that Where4 can out-perform individual solvers by proving a greater number of goals in a shorter average time. Furthermore, Where4 can integrate into a Why3 user’s normal workflow - simplifying and automating the non-expert use of SMT solvers for software verification.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
用于软件验证的SMT求解器性能预测
Why3与各种各样的交互式和自动定理证明器相连接的方法效果很好:它旨在克服依赖于单个紧密集成的求解器的系统所能证明的限制。然而,与其他系统一样,证明义务(或“目标”)的证明程度既取决于目标本身的属性,也取决于SMT求解器。在这项工作中,我们提出了一种使用语法分析来表征目标并通过机器学习技术预测最合适的求解器的方法。以这种方式组合求解器——一种组合求解方法——使可证明的目标数量最大化。Why3基于驱动程序的体系结构提供了一个独特的机会,可以使用一系列SMT求解器进行软件验证。求解器的智能调度通过避免求解器返回超时和未知响应来最小化证明这些目标所需的时间。我们评估了许多机器学习算法对该调度任务的适用性。我们的工具Where4的性能是在证明义务的数据集上进行评估的。我们将Where4与一系列SMT求解器和理论调度策略进行了比较。我们发现,Where4可以在更短的平均时间内证明更多的目标,从而优于单个求解器。此外,Where4可以集成到Why3用户的正常工作流程中——简化和自动化非专家使用SMT求解器进行软件验证。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
An Integrated Development Environment for the Prototype Verification System Simulation under Arbitrary Temporal Logic Constraints Automated Deductive Verification for Ladder Programming User Assistance Characteristics of the USE Model Checking Tool Interfacing Automatic Proof Agents in Atelier B: Introducing "iapa"
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1