Learning stateful preconditions modulo a test generator

Angello Astorga, Madhusudan Parthasarathy, Shambwaditya Saha, Shiyu Wang, Tao Xie

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

Abstract

In this paper, we present a novel learning framework for inferring stateful preconditions (i.e., preconditions constraining not only primitive-type inputs but also non-primitive-type object states) modulo a test generator, where the quality of the preconditions is based on their safety and maximality with respect to the test generator. We instantiate the learning framework with a specific learner and test generator to realize a precondition synthesis tool for C#. We use an extensive evaluation to show that the tool is highly effective in synthesizing preconditions for avoiding exceptions as well as synthesizing conditions under which methods commute.

Original languageEnglish (US)
Title of host publicationPLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
EditorsKathryn S. McKinley, Kathleen Fisher
PublisherAssociation for Computing Machinery
Pages775-787
Number of pages13
ISBN (Electronic)9781450367127
DOIs
StatePublished - Jun 8 2019
Event40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019 - Phoenix, United States
Duration: Jun 22 2019Jun 26 2019

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019
CountryUnited States
CityPhoenix
Period6/22/196/26/19

Keywords

  • Data-Driven Inference
  • Specification Mining
  • Synthesis

ASJC Scopus subject areas

  • Software

Cite this

Astorga, A., Parthasarathy, M., Saha, S., Wang, S., & Xie, T. (2019). Learning stateful preconditions modulo a test generator. In K. S. McKinley, & K. Fisher (Eds.), PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 775-787). (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)). Association for Computing Machinery. https://doi.org/10.1145/3314221.3314641

Learning stateful preconditions modulo a test generator. / Astorga, Angello; Parthasarathy, Madhusudan; Saha, Shambwaditya; Wang, Shiyu; Xie, Tao.

PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. ed. / Kathryn S. McKinley; Kathleen Fisher. Association for Computing Machinery, 2019. p. 775-787 (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)).

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

Astorga, A, Parthasarathy, M, Saha, S, Wang, S & Xie, T 2019, Learning stateful preconditions modulo a test generator. in KS McKinley & K Fisher (eds), PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Association for Computing Machinery, pp. 775-787, 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, Phoenix, United States, 6/22/19. https://doi.org/10.1145/3314221.3314641
Astorga A, Parthasarathy M, Saha S, Wang S, Xie T. Learning stateful preconditions modulo a test generator. In McKinley KS, Fisher K, editors, PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery. 2019. p. 775-787. (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)). https://doi.org/10.1145/3314221.3314641
Astorga, Angello ; Parthasarathy, Madhusudan ; Saha, Shambwaditya ; Wang, Shiyu ; Xie, Tao. / Learning stateful preconditions modulo a test generator. PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. editor / Kathryn S. McKinley ; Kathleen Fisher. Association for Computing Machinery, 2019. pp. 775-787 (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)).
@inproceedings{12ce00f46dfd43e682cdd79c27569f92,
title = "Learning stateful preconditions modulo a test generator",
abstract = "In this paper, we present a novel learning framework for inferring stateful preconditions (i.e., preconditions constraining not only primitive-type inputs but also non-primitive-type object states) modulo a test generator, where the quality of the preconditions is based on their safety and maximality with respect to the test generator. We instantiate the learning framework with a specific learner and test generator to realize a precondition synthesis tool for C#. We use an extensive evaluation to show that the tool is highly effective in synthesizing preconditions for avoiding exceptions as well as synthesizing conditions under which methods commute.",
keywords = "Data-Driven Inference, Specification Mining, Synthesis",
author = "Angello Astorga and Madhusudan Parthasarathy and Shambwaditya Saha and Shiyu Wang and Tao Xie",
year = "2019",
month = "6",
day = "8",
doi = "10.1145/3314221.3314641",
language = "English (US)",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
publisher = "Association for Computing Machinery",
pages = "775--787",
editor = "McKinley, {Kathryn S.} and Kathleen Fisher",
booktitle = "PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation",

}

TY - GEN

T1 - Learning stateful preconditions modulo a test generator

AU - Astorga, Angello

AU - Parthasarathy, Madhusudan

AU - Saha, Shambwaditya

AU - Wang, Shiyu

AU - Xie, Tao

PY - 2019/6/8

Y1 - 2019/6/8

N2 - In this paper, we present a novel learning framework for inferring stateful preconditions (i.e., preconditions constraining not only primitive-type inputs but also non-primitive-type object states) modulo a test generator, where the quality of the preconditions is based on their safety and maximality with respect to the test generator. We instantiate the learning framework with a specific learner and test generator to realize a precondition synthesis tool for C#. We use an extensive evaluation to show that the tool is highly effective in synthesizing preconditions for avoiding exceptions as well as synthesizing conditions under which methods commute.

AB - In this paper, we present a novel learning framework for inferring stateful preconditions (i.e., preconditions constraining not only primitive-type inputs but also non-primitive-type object states) modulo a test generator, where the quality of the preconditions is based on their safety and maximality with respect to the test generator. We instantiate the learning framework with a specific learner and test generator to realize a precondition synthesis tool for C#. We use an extensive evaluation to show that the tool is highly effective in synthesizing preconditions for avoiding exceptions as well as synthesizing conditions under which methods commute.

KW - Data-Driven Inference

KW - Specification Mining

KW - Synthesis

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

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

U2 - 10.1145/3314221.3314641

DO - 10.1145/3314221.3314641

M3 - Conference contribution

AN - SCOPUS:85067678077

T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

SP - 775

EP - 787

BT - PLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation

A2 - McKinley, Kathryn S.

A2 - Fisher, Kathleen

PB - Association for Computing Machinery

ER -