Lune

POPL2020Top-tier venue

Synthesizing replacement classes

Malavika Samak, Deokhwan Kim, Martin C. Rinard

2020Year
14Citations
8Top-tier citations

Abstract

We present a new technique for automatically synthesizing replacement classes. The technique starts with an original class O and a potential replacement class R, then uses R to synthesize a new class that implements the same interface and provides the same functionality as O. Critically, our technique works with a synthesized inter-class equivalence predicate between the states of O and R. It uses this predicate to ensure that original and synthesized methods leave corresponding O and R objects in equivalent states. The predicate therefore enables the technique to synthesize individual replacement methods in isolation while still obtaining a replacement class that leaves the original and replacement objects in equivalent states after arbitrarily long method invocation sequences. We have implemented the technique as part of a tool, named Mas , and evaluated it using open-source Java classes. The results highlight the effectiveness of Mas in synthesizing replacement classes.

CCS Concepts: • Software and its engineering → Programming by example; Object oriented frameworks.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 345f013f-44e5-45e8-b7bd-2c1479975c23

Cited by top-tier papers8

Ask how each one uses it

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines