Academic Journal

Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY
Συγγραφείς: Abbasi, Rosa, Schiffl, Jonas, Darulova, Eva, Ulbrich, M., Ahrendt, Wolfgang, 1967
Πηγή: International Journal on Software Tools for Technology Transfer Benchmark Repository for Floating-Point Support in KeY. 25(2):185-204
Θεματικοί όροι: Deductive verification, Floating-point arithmetic, Transcendental functions
Περιγραφή: Deductive verification has been successful in verifying interesting properties of real-world programs. One notable gap is the limited support for floating-point reasoning. This is unfortunate, as floating-point arithmetic is particularly unintuitive to reason about due to rounding as well as the presence of the special values infinity and ‘Not a Number’ (NaN). In this article, we present the first floating-point support in a deductive verification tool for the Java programming language. Our support in the KeY verifier handles floating-point arithmetics, transcendental functions, and potentially rounding-type casts. We achieve this with a combination of delegation to external SMT solvers on the one hand, and KeY-internal, rule-based reasoning on the other hand, exploiting the complementary strengths of both worlds. We evaluate this integration on new benchmarks and show that this approach is powerful enough to prove the absence of floating-point special values—often a prerequisite for correct programs—as well as functional properties, for realistic benchmarks.
Περιγραφή αρχείου: electronic
Σύνδεσμος πρόσβασης: https://research.chalmers.se/publication/534936
https://research.chalmers.se/publication/534936/file/534936_Fulltext.pdf
Βάση Δεδομένων: SwePub
FullText Text:
  Availability: 0
CustomLinks:
  – Url: https://research.chalmers.se/publication/534936#
    Name: EDS - SwePub (ns324271)
    Category: fullText
    Text: View record in SwePub
Header DbId: edsswe
DbLabel: SwePub
An: edsswe.oai.research.chalmers.se.74098cd6.3c3b.41d7.b177.9762ba07d515
RelevancyScore: 1034
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 1033.77954101563
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Abbasi%2C+Rosa%22">Abbasi, Rosa</searchLink><br /><searchLink fieldCode="AR" term="%22Schiffl%2C+Jonas%22">Schiffl, Jonas</searchLink><br /><searchLink fieldCode="AR" term="%22Darulova%2C+Eva%22">Darulova, Eva</searchLink><br /><searchLink fieldCode="AR" term="%22Ulbrich%2C+M%2E%22">Ulbrich, M.</searchLink><br /><searchLink fieldCode="AR" term="%22Ahrendt%2C+Wolfgang%22">Ahrendt, Wolfgang</searchLink>, 1967
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <i>International Journal on Software Tools for Technology Transfer Benchmark Repository for Floating-Point Support in KeY</i>. 25(2):185-204
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Deductive+verification%22">Deductive verification</searchLink><br /><searchLink fieldCode="DE" term="%22Floating-point+arithmetic%22">Floating-point arithmetic</searchLink><br /><searchLink fieldCode="DE" term="%22Transcendental+functions%22">Transcendental functions</searchLink>
– Name: Abstract
  Label: Description
  Group: Ab
  Data: Deductive verification has been successful in verifying interesting properties of real-world programs. One notable gap is the limited support for floating-point reasoning. This is unfortunate, as floating-point arithmetic is particularly unintuitive to reason about due to rounding as well as the presence of the special values infinity and ‘Not a Number’ (NaN). In this article, we present the first floating-point support in a deductive verification tool for the Java programming language. Our support in the KeY verifier handles floating-point arithmetics, transcendental functions, and potentially rounding-type casts. We achieve this with a combination of delegation to external SMT solvers on the one hand, and KeY-internal, rule-based reasoning on the other hand, exploiting the complementary strengths of both worlds. We evaluate this integration on new benchmarks and show that this approach is powerful enough to prove the absence of floating-point special values—often a prerequisite for correct programs—as well as functional properties, for realistic benchmarks.
– Name: Format
  Label: File Description
  Group: SrcInfo
  Data: electronic
– Name: URL
  Label: Access URL
  Group: URL
  Data: <link linkTarget="URL" linkTerm="https://research.chalmers.se/publication/534936" linkWindow="_blank">https://research.chalmers.se/publication/534936</link><br /><link linkTarget="URL" linkTerm="https://research.chalmers.se/publication/534936/file/534936_Fulltext.pdf" linkWindow="_blank">https://research.chalmers.se/publication/534936/file/534936_Fulltext.pdf</link>
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsswe&AN=edsswe.oai.research.chalmers.se.74098cd6.3c3b.41d7.b177.9762ba07d515
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10009-022-00691-x
    Languages:
      – Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 20
        StartPage: 185
    Subjects:
      – SubjectFull: Deductive verification
        Type: general
      – SubjectFull: Floating-point arithmetic
        Type: general
      – SubjectFull: Transcendental functions
        Type: general
    Titles:
      – TitleFull: Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Abbasi, Rosa
      – PersonEntity:
          Name:
            NameFull: Schiffl, Jonas
      – PersonEntity:
          Name:
            NameFull: Darulova, Eva
      – PersonEntity:
          Name:
            NameFull: Ulbrich, M.
      – PersonEntity:
          Name:
            NameFull: Ahrendt, Wolfgang
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Type: published
              Y: 2023
          Identifiers:
            – Type: issn-print
              Value: 14332779
            – Type: issn-print
              Value: 14332787
            – Type: issn-locals
              Value: SWEPUB_FREE
            – Type: issn-locals
              Value: CTH_SWEPUB
          Numbering:
            – Type: volume
              Value: 25
            – Type: issue
              Value: 2
          Titles:
            – TitleFull: International Journal on Software Tools for Technology Transfer Benchmark Repository for Floating-Point Support in KeY
              Type: main
ResultId 1