SPARK 2014 and GNATprove.

Saved in:
Bibliographic Details
Title: SPARK 2014 and GNATprove.
Authors: Hoang, Duc1 duc.hoang@epfl.ch, Moy, Yannick2 yannick.moy@adacore.com, Wallenburg, Angela3 angela.wallenburg@altran.com, Chapman, Roderick3 rod.chapman@altran.com
Source: International Journal on Software Tools for Technology Transfer. Nov2015, Vol. 17 Issue 6, p695-707. 13p.
Subjects: Software verification, SPARK (Computer program language), Compilers (Computer programs), Program development (Education), Computer architecture, Lexicography
Abstract: Extensive and expensive testing is the method most widely used for gaining confidence in safety-critical software. With a few exceptions, such as SPARK, formal verification is rarely used in industry due to its high cost and level of skill required. The grand challenge of building a verifying compiler for static formal verification of programs aims at bringing formal verification to non-expert users of powerful programming languages. This challenge has nurtured competition and collaboration among verification tool builders; an example is the VerifyThis competition Huisman et al. (, ). In this paper, we describe our approach to popularising formal verification in the design of the SPARK 2014 language and the associated formal verification tool GNATprove. In particular, we present our solution to combining tests and proofs, which provides a cost-competitive way to develop software to standards such as do-178. At the heart of our technique are executable contracts, and the ability to both test and prove those. We use running examples from the VerifyThis 2012 competition and discuss the results of using our tools on those problems. [ABSTRACT FROM AUTHOR]
Copyright of International Journal on Software Tools for Technology Transfer is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 110204073
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: SPARK 2014 and GNATprove.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Hoang%2C+Duc%22">Hoang, Duc</searchLink><relatesTo>1</relatesTo><i> duc.hoang@epfl.ch</i><br /><searchLink fieldCode="AR" term="%22Moy%2C+Yannick%22">Moy, Yannick</searchLink><relatesTo>2</relatesTo><i> yannick.moy@adacore.com</i><br /><searchLink fieldCode="AR" term="%22Wallenburg%2C+Angela%22">Wallenburg, Angela</searchLink><relatesTo>3</relatesTo><i> angela.wallenburg@altran.com</i><br /><searchLink fieldCode="AR" term="%22Chapman%2C+Roderick%22">Chapman, Roderick</searchLink><relatesTo>3</relatesTo><i> rod.chapman@altran.com</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22International+Journal+on+Software+Tools+for+Technology+Transfer%22">International Journal on Software Tools for Technology Transfer</searchLink>. Nov2015, Vol. 17 Issue 6, p695-707. 13p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Software+verification%22">Software verification</searchLink><br /><searchLink fieldCode="DE" term="%22SPARK+%28Computer+program+language%29%22">SPARK (Computer program language)</searchLink><br /><searchLink fieldCode="DE" term="%22Compilers+%28Computer+programs%29%22">Compilers (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Program+development+%28Education%29%22">Program development (Education)</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+architecture%22">Computer architecture</searchLink><br /><searchLink fieldCode="DE" term="%22Lexicography%22">Lexicography</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Extensive and expensive testing is the method most widely used for gaining confidence in safety-critical software. With a few exceptions, such as SPARK, formal verification is rarely used in industry due to its high cost and level of skill required. The grand challenge of building a verifying compiler for static formal verification of programs aims at bringing formal verification to non-expert users of powerful programming languages. This challenge has nurtured competition and collaboration among verification tool builders; an example is the VerifyThis competition Huisman et al. (, ). In this paper, we describe our approach to popularising formal verification in the design of the SPARK 2014 language and the associated formal verification tool GNATprove. In particular, we present our solution to combining tests and proofs, which provides a cost-competitive way to develop software to standards such as do-178. At the heart of our technique are executable contracts, and the ability to both test and prove those. We use running examples from the VerifyThis 2012 competition and discuss the results of using our tools on those problems. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of International Journal on Software Tools for Technology Transfer is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=110204073
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10009-014-0322-5
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 13
        StartPage: 695
    Subjects:
      – SubjectFull: Software verification
        Type: general
      – SubjectFull: SPARK (Computer program language)
        Type: general
      – SubjectFull: Compilers (Computer programs)
        Type: general
      – SubjectFull: Program development (Education)
        Type: general
      – SubjectFull: Computer architecture
        Type: general
      – SubjectFull: Lexicography
        Type: general
    Titles:
      – TitleFull: SPARK 2014 and GNATprove.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Hoang, Duc
      – PersonEntity:
          Name:
            NameFull: Moy, Yannick
      – PersonEntity:
          Name:
            NameFull: Wallenburg, Angela
      – PersonEntity:
          Name:
            NameFull: Chapman, Roderick
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 11
              Text: Nov2015
              Type: published
              Y: 2015
          Identifiers:
            – Type: issn-print
              Value: 14332779
          Numbering:
            – Type: volume
              Value: 17
            – Type: issue
              Value: 6
          Titles:
            – TitleFull: International Journal on Software Tools for Technology Transfer
              Type: main
ResultId 1