uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
• apa
• ieee
• modern-language-association
• vancouver
• Other style
More styles
Language
• de-DE
• en-GB
• en-US
• fi-FI
• nn-NO
• nn-NB
• sv-SE
• Other locale
More languages
Output format
• html
• text
• asciidoc
• rtf
Approximations and abstractions for reasoning about machine arithmetic
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Computer Systems. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Systems. (Embedded Systems)
2016 (English)Licentiate thesis, comprehensive summary (Other academic)
##### Abstract [en]

Safety-critical systems rely on various forms of machine arithmetic to perform their tasks: integer arithmetic, fixed-point arithmetic or floating-point arithmetic. The problem with machine arithmetic is that it can exhibit subtle differences in behavior compared to the ideal mathematical arithmetic, due to fixed-size representation in memory. Failure of safety-critical systems is unacceptable, because it can cost lives or huge amounts of money, time and effort. To prevent such incidents, we want to formally prove that systems satisfy certain safety properties, or otherwise discover cases when the properties are violated. However, for this we need to be able to formally reason about machine arithmetic. The main problem with existing approaches is their inability to scale well with the increasing complexity of systems and their properties. In this thesis, we explore two alternatives to bit-blasting, the core procedure lying behind many common approaches to reasoning about machine arithmetic.

In the first approach, we present a general approximation framework which we apply to solve constraints over floating-point arithmetic. It is built on top of an existing decision procedure, e.g., bit-blasting. Rather than solving the original formula, we solve a sequence of approximations of the formula. Initially very crude, these approximations are frequently solved very quickly. We use results from these approximations to either obtain a solution, obtain a proof of unsatisfiability or generate a new approximation to solve. Eventually, we will either have found a solution or a proof that solution does not exist. The approximation framework improves the solving time and can solve a number of formulas that the bit-blasting cannot.

In the second approach, we present a novel method to reason about the theory of fixed-width bit-vectors. This new decision procedure is called mcBV and it is based on the model constructing satisfiability calculus (mcSAT). The procedure uses a lazy representation of bit-vectors and attempts to avoid bit-blasting altogether. It is able to reason about bit-vectors on both bit- and word-level, leveraging both Boolean constraint propagation and native arithmetic reasoning. It also features a greedy explanation generalization mechanism and is capable of more general learning compared to existing approaches. mcBV is able to reason about bit-vectors with sizes that significantly exceed the usual 32, 64 and 128 bits. Evaluation of mcBV shows an improvement in performance (compared to bit-blasting) on several classes of problems.

##### Place, publisher, year, edition, pages
Uppsala University, 2016.
##### Series
Information technology licentiate theses: Licentiate theses from the Department of Information Technology, ISSN 1404-5117 ; 2016-010
##### National Category
Computer Sciences
##### Research subject
Computer Science with specialization in Embedded Systems
##### Identifiers
OAI: oai:DiVA.org:uu-305190DiVA, id: diva2:1034570
##### Supervisors
Available from: 2016-10-12 Created: 2016-10-12 Last updated: 2018-01-14Bibliographically approved
##### List of papers
1. An approximation framework for solvers and decision procedures
Open this publication in new window or tab >>An approximation framework for solvers and decision procedures
2017 (English)In: Journal of automated reasoning, ISSN 0168-7433, E-ISSN 1573-0670, Vol. 58, no 1, p. 127-147Article in journal (Refereed) Published
##### National Category
Computer Sciences
##### Identifiers
urn:nbn:se:uu:diva-305180 (URN)10.1007/s10817-016-9393-1 (DOI)000392387400006 ()
##### Projects
UPMARC Available from: 2016-11-10 Created: 2016-10-12 Last updated: 2018-01-14Bibliographically approved
2. Deciding bit-vector formulas with mcSAT
Open this publication in new window or tab >>Deciding bit-vector formulas with mcSAT
2016 (English)In: Theory and Applications of Satisfiability Testing: SAT 2016, Springer, 2016, p. 249-266Conference paper, Published paper (Refereed)
Springer, 2016
##### Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9710
##### National Category
Computer Sciences
##### Identifiers
urn:nbn:se:uu:diva-305182 (URN)10.1007/978-3-319-40970-2_16 (DOI)000387430600016 ()978-3-319-40969-6 (ISBN)
##### Conference
SAT 2016, July 5–8, Bordeaux, France
##### Projects
UPMARC Available from: 2016-06-11 Created: 2016-10-12 Last updated: 2018-01-14Bibliographically approved

#### Open Access in DiVA

fulltext(3251 kB)93 downloads
##### File information
File name FULLTEXT01.pdfFile size 3251 kBChecksum SHA-512
3a3b09b7e555454d8a129b96f409d2d591c19bd1730d6dfffe976b0f3efea071b82ce135002013efb5feb272cfa8eee93b4758b7f6454e4870ee81060164bddb
Type fulltextMimetype application/pdf

#### Search in DiVA

##### By author/editor
Zeljic, Aleksandar
##### By organisation
Division of Computer SystemsComputer Systems
##### On the subject
Computer Sciences

#### Search outside of DiVA

GoogleGoogle Scholar
Total: 93 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available
urn-nbn

#### Altmetric score

urn-nbn
Total: 442 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
• apa
• ieee
• modern-language-association
• vancouver
• Other style
More styles
Language
• de-DE
• en-GB
• en-US
• fi-FI
• nn-NO
• nn-NB
• sv-SE
• Other locale
More languages
Output format
• html
• text
• asciidoc
• rtf