Affiliation:
1. University of Illinois at Urbana-Champaign, USA
2. Tufts University, USA
3. Peking University, China
Abstract
We present an approach to learn contracts for object-oriented programs where guarantees of correctness of the contracts are made with respect to a test generator. Our contract synthesis approach is based on a novel notion of tight contracts and an online learning algorithm that works in tandem with a test generator to synthesize tight contracts. We implement our approach in a tool called Precis and evaluate it on a suite of programs written in C#, studying the safety and strength of the synthesized contracts, and compare them to those synthesized by Daikon.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Perception Contracts for Safety of ML-Enabled Systems;Proceedings of the ACM on Programming Languages;2023-10-16
2. Synthesizing Specifications;Proceedings of the ACM on Programming Languages;2023-10-16
3. Languages with Decidable Learning: A Meta-theorem;Proceedings of the ACM on Programming Languages;2023-04-06
4. An Active Learning Approach to Synthesizing Program Contracts;Software Engineering and Formal Methods;2023
5. Synthesizing abstract transformers;Proceedings of the ACM on Programming Languages;2022-10-31