ICE-based refinement type discovery for higher-order functional programs

Adrien Champion, Tomoya Chiba, Naoki Kobayashi, Ryosuke Sato

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationTools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings
EditorsDirk Beyer, Marieke Huisman
PublisherSpringer Verlag
Pages365-384
Number of pages20
ISBN (Print)9783319899596
DOIs
Publication statusPublished - Jan 1 2018
Event24th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2018 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018 - Thessaloniki, Greece
Duration: Apr 14 2018Apr 20 2018

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10805 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other24th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2018 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018
CountryGreece
CityThessaloniki
Period4/14/184/20/18

Fingerprint

Ice
Refinement
Higher Order
Invariant
Recursive functions
Learning systems
Recursive Functions
Machine Learning
Likely
Experiments
Generalise
Experiment
Framework

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Champion, A., Chiba, T., Kobayashi, N., & Sato, R. (2018). ICE-based refinement type discovery for higher-order functional programs. In D. Beyer, & M. Huisman (Eds.), Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings (pp. 365-384). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10805 LNCS). Springer Verlag. https://doi.org/10.1007/978-3-319-89960-2_20

ICE-based refinement type discovery for higher-order functional programs. / Champion, Adrien; Chiba, Tomoya; Kobayashi, Naoki; Sato, Ryosuke.

Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings. ed. / Dirk Beyer; Marieke Huisman. Springer Verlag, 2018. p. 365-384 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10805 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Champion, A, Chiba, T, Kobayashi, N & Sato, R 2018, ICE-based refinement type discovery for higher-order functional programs. in D Beyer & M Huisman (eds), Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 10805 LNCS, Springer Verlag, pp. 365-384, 24th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2018 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, 4/14/18. https://doi.org/10.1007/978-3-319-89960-2_20
Champion A, Chiba T, Kobayashi N, Sato R. ICE-based refinement type discovery for higher-order functional programs. In Beyer D, Huisman M, editors, Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings. Springer Verlag. 2018. p. 365-384. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-319-89960-2_20
Champion, Adrien ; Chiba, Tomoya ; Kobayashi, Naoki ; Sato, Ryosuke. / ICE-based refinement type discovery for higher-order functional programs. Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings. editor / Dirk Beyer ; Marieke Huisman. Springer Verlag, 2018. pp. 365-384 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{6f862cffbdba431895e4303eb31d467c,
title = "ICE-based refinement type discovery for higher-order functional programs",
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.",
author = "Adrien Champion and Tomoya Chiba and Naoki Kobayashi and Ryosuke Sato",
year = "2018",
month = "1",
day = "1",
doi = "10.1007/978-3-319-89960-2_20",
language = "English",
isbn = "9783319899596",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "365--384",
editor = "Dirk Beyer and Marieke Huisman",
booktitle = "Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings",
address = "Germany",

}

TY - GEN

T1 - ICE-based refinement type discovery for higher-order functional programs

AU - Champion, Adrien

AU - Chiba, Tomoya

AU - Kobayashi, Naoki

AU - Sato, Ryosuke

PY - 2018/1/1

Y1 - 2018/1/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=85045836666&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85045836666&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-89960-2_20

DO - 10.1007/978-3-319-89960-2_20

M3 - Conference contribution

SN - 9783319899596

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 365

EP - 384

BT - Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Proceedings

A2 - Beyer, Dirk

A2 - Huisman, Marieke

PB - Springer Verlag

ER -