TY - GEN
T1 - Learning stateful preconditions modulo a test generator
AU - Astorga, Angello
AU - Madhusudan, P.
AU - Saha, Shambwaditya
AU - Wang, Shiyu
AU - Xie, Tao
N1 - Funding Information:
This work was supported in part by National Science Foundation under grant no. CCF-1527395, CNS-1513939, CNS-1564274, CCF-1816615 and the GEM fellowship.
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
T2 - 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019
Y2 - 22 June 2019 through 26 June 2019
ER -