ICE-Based Refinement Type Discovery for Higher-Order Functional Programs.

Saved in:
Bibliographic Details
Title: ICE-Based Refinement Type Discovery for Higher-Order Functional Programs.
Authors: Champion, Adrien1,2, Chiba, Tomoya1, Kobayashi, Naoki1 koba@is.s.u-tokyo.ac.jp, Sato, Ryosuke3
Source: Journal of Automated Reasoning. Oct2020, Vol. 64 Issue 7, p1393-1418. 26p.
Subjects: Functional programming languages, Machine learning, Mathematical models, Polynomials, Software verification
Abstract: We propose a method for automatically finding refinement types of higher-order function programs. Our method is an extension of the Ice framework of Garg et al. for finding invariants. In addition to the usual positive and negative samples in machine learning, their Ice framework uses implication constraints, which consist of pairs (x, y) such that if x satisfies an invariant, so does y. From these constraints, Ice infers inductive invariants effectively. We observe that the implication constraints in the original Ice framework are not suitable for finding invariants of recursive functions with multiple function calls. We thus generalize the implication constraints to those of the form ({ x 1 , ⋯ , x k } , y) , which means that if all of x 1 , ⋯ , x k satisfy an invariant, so does y. We extend their algorithms for inferring likely invariants from samples, verifying the inferred invariants, and generating new samples. We have implemented our method and confirmed its effectiveness through experiments. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Automated Reasoning 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: 146105254
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: ICE-Based Refinement Type Discovery for Higher-Order Functional Programs.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Champion%2C+Adrien%22">Champion, Adrien</searchLink><relatesTo>1,2</relatesTo><br /><searchLink fieldCode="AR" term="%22Chiba%2C+Tomoya%22">Chiba, Tomoya</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Kobayashi%2C+Naoki%22">Kobayashi, Naoki</searchLink><relatesTo>1</relatesTo><i> koba@is.s.u-tokyo.ac.jp</i><br /><searchLink fieldCode="AR" term="%22Sato%2C+Ryosuke%22">Sato, Ryosuke</searchLink><relatesTo>3</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Journal+of+Automated+Reasoning%22">Journal of Automated Reasoning</searchLink>. Oct2020, Vol. 64 Issue 7, p1393-1418. 26p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Functional+programming+languages%22">Functional programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Machine+learning%22">Machine learning</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+models%22">Mathematical models</searchLink><br /><searchLink fieldCode="DE" term="%22Polynomials%22">Polynomials</searchLink><br /><searchLink fieldCode="DE" term="%22Software+verification%22">Software verification</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: We propose a method for automatically finding refinement types of higher-order function programs. Our method is an extension of the Ice framework of Garg et al. for finding invariants. In addition to the usual positive and negative samples in machine learning, their Ice framework uses implication constraints, which consist of pairs (x, y) such that if x satisfies an invariant, so does y. From these constraints, Ice infers inductive invariants effectively. We observe that the implication constraints in the original Ice framework are not suitable for finding invariants of recursive functions with multiple function calls. We thus generalize the implication constraints to those of the form ({ x 1 , ⋯ , x k } , y) , which means that if all of x 1 , ⋯ , x k satisfy an invariant, so does y. We extend their algorithms for inferring likely invariants from samples, verifying the inferred invariants, and generating new samples. We have implemented our method and confirmed its effectiveness through experiments. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Journal of Automated Reasoning 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=146105254
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s10817-020-09571-y
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 26
        StartPage: 1393
    Subjects:
      – SubjectFull: Functional programming languages
        Type: general
      – SubjectFull: Machine learning
        Type: general
      – SubjectFull: Mathematical models
        Type: general
      – SubjectFull: Polynomials
        Type: general
      – SubjectFull: Software verification
        Type: general
    Titles:
      – TitleFull: ICE-Based Refinement Type Discovery for Higher-Order Functional Programs.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Champion, Adrien
      – PersonEntity:
          Name:
            NameFull: Chiba, Tomoya
      – PersonEntity:
          Name:
            NameFull: Kobayashi, Naoki
      – PersonEntity:
          Name:
            NameFull: Sato, Ryosuke
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 10
              Text: Oct2020
              Type: published
              Y: 2020
          Identifiers:
            – Type: issn-print
              Value: 01687433
          Numbering:
            – Type: volume
              Value: 64
            – Type: issue
              Value: 7
          Titles:
            – TitleFull: Journal of Automated Reasoning
              Type: main
ResultId 1