An Integration of Deductive Retrieval into Deductive Synthesis

  • Authors:
  • Bernd Fischer;Jon Whittle

  • Affiliations:
  • -;-

  • Venue:
  • ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Deductive retrieval and deductive synthesis are two conceptually closely related software development methods which apply theorem proving techniques to support the construction of correct programs. In this paper, we describe an integration of both methods which combines their complementary benefits and alleviates some of their drawbacks.The core of our integration is an algorithm which automatically extracts queries from the synthesis proof state and submits them to a specialized retrieval system. Retrieved components are then used to close open sub-goals in the proof. We use a higher-order framework for synthesis in which higher-order meta-variables are used to represent program fragments still to be synthesized. Hence, the introduction of a new meta-variable is an attempt to synthesize a new fragment and so highlights a possible reuse step. This observation allows us to invoke retrieval only after a \emph{substantial change} rather than at every proof step and prevents overloading the retrieval mechanism.Our integration raises the granularity level of synthesis by avoiding a substantial number of proof steps. It also provides a framework for adapting ``near-miss'' components in the case that an exact match cannot be retrieved.