Synthesizing contracts correct modulo a test generator

Angello Astorga, Shambwaditya Saha, Ahmad Dinkins, Felicia Wang, P. Madhusudan, Tao Xie

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish (US)
Article number104
JournalProceedings of the ACM on Programming Languages
Volume5
Issue numberOOPSLA
DOIs
StatePublished - Oct 2021

Keywords

  • Data-Driven Inference
  • Software Testing
  • Specification Mining
  • Synthesis

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Synthesizing contracts correct modulo a test generator'. Together they form a unique fingerprint.

Cite this