Deciding floating-point logic with abstract conflict driven clause learning

We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based abstractions. We use floating-point intervals t...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Formal methods in system design 2014-10, Vol.45 (2), p.213-245
Hauptverfasser: Brain, Martin, D’Silva, Vijay, Griggio, Alberto, Haller, Leopold, Kroening, Daniel
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 245
container_issue 2
container_start_page 213
container_title Formal methods in system design
container_volume 45
creator Brain, Martin
D’Silva, Vijay
Griggio, Alberto
Haller, Leopold
Kroening, Daniel
description We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based abstractions. We use floating-point intervals to reason about the ranges of variables, which allows us to directly handle arithmetic and is more efficient than encoding a formula as a bit-vector as in current floating-point solvers. Interval reasoning alone is incomplete, and we obtain completeness by developing a conflict analysis algorithm that reasons natively about intervals. We have implemented this method in the mathsat5 smt solver and evaluated it on assertion checking problems that bound the values of program variables. Our new technique is faster than a bit-vector encoding approach on 80 % of the benchmarks, and is faster by one order of magnitude or more on 60 % of the benchmarks. The generalisation of cdcl we propose is widely applicable and can be used to derive abstraction-based smt solvers for other theories.
doi_str_mv 10.1007/s10703-013-0203-7
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1651443144</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1651443144</sourcerecordid><originalsourceid>FETCH-LOGICAL-c434t-c42c686248e1fccec0c25ded00fbda3d883498294bd681412c8b1f0ce70db76c3</originalsourceid><addsrcrecordid>eNp9kD9PwzAQxS0EEqXwAdgysgTOjpM4Iyp_RSUWmC3n7BRXrl3sBMS3x1WYGd7dG9476X6EXFK4pgDtTaLQQlUCzWLZtEdkQeuWlYICOyYL6FhddqJuTslZSlsAELSpFuTlzqDV1m-KwQU1ZlPug_Vj4cLGYvFtx49C9WmMCscCgx-czUZH-2V8gU5NyRTOqOhz85ycDMolc_G3l-T94f5t9VSuXx-fV7frEnnFxzwZNqJhXBg6IBoEZLU2GmDotaq0EBXvBOt4rxtBOWUoejoAmhZ03zZYLcnVfHcfw-dk0ih3NqFxTnkTpiRpU1POq4OWhM5RjCGlaAa5j3an4o-kIA_g5AxOZnDyAE62ucPmTspZvzFRbsMUff7on9IvdGNxOA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1651443144</pqid></control><display><type>article</type><title>Deciding floating-point logic with abstract conflict driven clause learning</title><source>SpringerNature Journals</source><creator>Brain, Martin ; D’Silva, Vijay ; Griggio, Alberto ; Haller, Leopold ; Kroening, Daniel</creator><creatorcontrib>Brain, Martin ; D’Silva, Vijay ; Griggio, Alberto ; Haller, Leopold ; Kroening, Daniel</creatorcontrib><description>We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based abstractions. We use floating-point intervals to reason about the ranges of variables, which allows us to directly handle arithmetic and is more efficient than encoding a formula as a bit-vector as in current floating-point solvers. Interval reasoning alone is incomplete, and we obtain completeness by developing a conflict analysis algorithm that reasons natively about intervals. We have implemented this method in the mathsat5 smt solver and evaluated it on assertion checking problems that bound the values of program variables. Our new technique is faster than a bit-vector encoding approach on 80 % of the benchmarks, and is faster by one order of magnitude or more on 60 % of the benchmarks. The generalisation of cdcl we propose is widely applicable and can be used to derive abstraction-based smt solvers for other theories.</description><identifier>ISSN: 0925-9856</identifier><identifier>EISSN: 1572-8102</identifier><identifier>DOI: 10.1007/s10703-013-0203-7</identifier><language>eng</language><publisher>Boston: Springer US</publisher><subject>Algorithms ; Arithmetic ; Benchmarks ; CAE) and Design ; Circuits and Systems ; Computer-Aided Engineering (CAD ; Electrical Engineering ; Encoding ; Engineering ; Floating point arithmetic ; Intervals ; Learning ; Software Engineering/Programming and Operating Systems ; Solvers</subject><ispartof>Formal methods in system design, 2014-10, Vol.45 (2), p.213-245</ispartof><rights>The Author(s) 2013</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c434t-c42c686248e1fccec0c25ded00fbda3d883498294bd681412c8b1f0ce70db76c3</citedby><cites>FETCH-LOGICAL-c434t-c42c686248e1fccec0c25ded00fbda3d883498294bd681412c8b1f0ce70db76c3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10703-013-0203-7$$EPDF$$P50$$Gspringer$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s10703-013-0203-7$$EHTML$$P50$$Gspringer$$Hfree_for_read</linktohtml><link.rule.ids>314,780,784,27924,27925,41488,42557,51319</link.rule.ids></links><search><creatorcontrib>Brain, Martin</creatorcontrib><creatorcontrib>D’Silva, Vijay</creatorcontrib><creatorcontrib>Griggio, Alberto</creatorcontrib><creatorcontrib>Haller, Leopold</creatorcontrib><creatorcontrib>Kroening, Daniel</creatorcontrib><title>Deciding floating-point logic with abstract conflict driven clause learning</title><title>Formal methods in system design</title><addtitle>Form Methods Syst Des</addtitle><description>We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based abstractions. We use floating-point intervals to reason about the ranges of variables, which allows us to directly handle arithmetic and is more efficient than encoding a formula as a bit-vector as in current floating-point solvers. Interval reasoning alone is incomplete, and we obtain completeness by developing a conflict analysis algorithm that reasons natively about intervals. We have implemented this method in the mathsat5 smt solver and evaluated it on assertion checking problems that bound the values of program variables. Our new technique is faster than a bit-vector encoding approach on 80 % of the benchmarks, and is faster by one order of magnitude or more on 60 % of the benchmarks. The generalisation of cdcl we propose is widely applicable and can be used to derive abstraction-based smt solvers for other theories.</description><subject>Algorithms</subject><subject>Arithmetic</subject><subject>Benchmarks</subject><subject>CAE) and Design</subject><subject>Circuits and Systems</subject><subject>Computer-Aided Engineering (CAD</subject><subject>Electrical Engineering</subject><subject>Encoding</subject><subject>Engineering</subject><subject>Floating point arithmetic</subject><subject>Intervals</subject><subject>Learning</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Solvers</subject><issn>0925-9856</issn><issn>1572-8102</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2014</creationdate><recordtype>article</recordtype><sourceid>C6C</sourceid><recordid>eNp9kD9PwzAQxS0EEqXwAdgysgTOjpM4Iyp_RSUWmC3n7BRXrl3sBMS3x1WYGd7dG9476X6EXFK4pgDtTaLQQlUCzWLZtEdkQeuWlYICOyYL6FhddqJuTslZSlsAELSpFuTlzqDV1m-KwQU1ZlPug_Vj4cLGYvFtx49C9WmMCscCgx-czUZH-2V8gU5NyRTOqOhz85ycDMolc_G3l-T94f5t9VSuXx-fV7frEnnFxzwZNqJhXBg6IBoEZLU2GmDotaq0EBXvBOt4rxtBOWUoejoAmhZ03zZYLcnVfHcfw-dk0ih3NqFxTnkTpiRpU1POq4OWhM5RjCGlaAa5j3an4o-kIA_g5AxOZnDyAE62ucPmTspZvzFRbsMUff7on9IvdGNxOA</recordid><startdate>20141001</startdate><enddate>20141001</enddate><creator>Brain, Martin</creator><creator>D’Silva, Vijay</creator><creator>Griggio, Alberto</creator><creator>Haller, Leopold</creator><creator>Kroening, Daniel</creator><general>Springer US</general><scope>C6C</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SP</scope><scope>8FD</scope><scope>L7M</scope></search><sort><creationdate>20141001</creationdate><title>Deciding floating-point logic with abstract conflict driven clause learning</title><author>Brain, Martin ; D’Silva, Vijay ; Griggio, Alberto ; Haller, Leopold ; Kroening, Daniel</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c434t-c42c686248e1fccec0c25ded00fbda3d883498294bd681412c8b1f0ce70db76c3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2014</creationdate><topic>Algorithms</topic><topic>Arithmetic</topic><topic>Benchmarks</topic><topic>CAE) and Design</topic><topic>Circuits and Systems</topic><topic>Computer-Aided Engineering (CAD</topic><topic>Electrical Engineering</topic><topic>Encoding</topic><topic>Engineering</topic><topic>Floating point arithmetic</topic><topic>Intervals</topic><topic>Learning</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Solvers</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Brain, Martin</creatorcontrib><creatorcontrib>D’Silva, Vijay</creatorcontrib><creatorcontrib>Griggio, Alberto</creatorcontrib><creatorcontrib>Haller, Leopold</creatorcontrib><creatorcontrib>Kroening, Daniel</creatorcontrib><collection>Springer Nature OA Free Journals</collection><collection>CrossRef</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><jtitle>Formal methods in system design</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Brain, Martin</au><au>D’Silva, Vijay</au><au>Griggio, Alberto</au><au>Haller, Leopold</au><au>Kroening, Daniel</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Deciding floating-point logic with abstract conflict driven clause learning</atitle><jtitle>Formal methods in system design</jtitle><stitle>Form Methods Syst Des</stitle><date>2014-10-01</date><risdate>2014</risdate><volume>45</volume><issue>2</issue><spage>213</spage><epage>245</epage><pages>213-245</pages><issn>0925-9856</issn><eissn>1572-8102</eissn><abstract>We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based abstractions. We use floating-point intervals to reason about the ranges of variables, which allows us to directly handle arithmetic and is more efficient than encoding a formula as a bit-vector as in current floating-point solvers. Interval reasoning alone is incomplete, and we obtain completeness by developing a conflict analysis algorithm that reasons natively about intervals. We have implemented this method in the mathsat5 smt solver and evaluated it on assertion checking problems that bound the values of program variables. Our new technique is faster than a bit-vector encoding approach on 80 % of the benchmarks, and is faster by one order of magnitude or more on 60 % of the benchmarks. The generalisation of cdcl we propose is widely applicable and can be used to derive abstraction-based smt solvers for other theories.</abstract><cop>Boston</cop><pub>Springer US</pub><doi>10.1007/s10703-013-0203-7</doi><tpages>33</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0925-9856
ispartof Formal methods in system design, 2014-10, Vol.45 (2), p.213-245
issn 0925-9856
1572-8102
language eng
recordid cdi_proquest_miscellaneous_1651443144
source SpringerNature Journals
subjects Algorithms
Arithmetic
Benchmarks
CAE) and Design
Circuits and Systems
Computer-Aided Engineering (CAD
Electrical Engineering
Encoding
Engineering
Floating point arithmetic
Intervals
Learning
Software Engineering/Programming and Operating Systems
Solvers
title Deciding floating-point logic with abstract conflict driven clause learning
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T21%3A51%3A24IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Deciding%20floating-point%20logic%20with%20abstract%20conflict%20driven%20clause%20learning&rft.jtitle=Formal%20methods%20in%20system%20design&rft.au=Brain,%20Martin&rft.date=2014-10-01&rft.volume=45&rft.issue=2&rft.spage=213&rft.epage=245&rft.pages=213-245&rft.issn=0925-9856&rft.eissn=1572-8102&rft_id=info:doi/10.1007/s10703-013-0203-7&rft_dat=%3Cproquest_cross%3E1651443144%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1651443144&rft_id=info:pmid/&rfr_iscdi=true