The paper defines and tackles the problem of surmising recursive function properties given a finite computation of the function. The problem ls motivated in the framework of software development and correctness proof by level of abstractions, where properties of abstraction modules must be used as lemmas in higher level abstraction proofs. A surmising algorithm is given which is used on generalization, instantiation by symbolic execution, and symbolic execution trace analysis. Examples are given which illustrate the capabilities (and limitations) of the algorithm. The second part of the paper gives a formal basis for a performance evaluation of the algorithm. A class of primitive recursive function 15 characterized in terms of function definition schemata, and a proof is given that in such a case the properties surmised by the algorithm actually hold. Hence, the surmising algorithm can be used as a peculiar theorem prover for the given restricted primitive recursive function class. Finally,the implementation issues are briefly discussed.

Surmising is sometimes better than proving

SIROVICH, Franco
1978-01-01

Abstract

The paper defines and tackles the problem of surmising recursive function properties given a finite computation of the function. The problem ls motivated in the framework of software development and correctness proof by level of abstractions, where properties of abstraction modules must be used as lemmas in higher level abstraction proofs. A surmising algorithm is given which is used on generalization, instantiation by symbolic execution, and symbolic execution trace analysis. Examples are given which illustrate the capabilities (and limitations) of the algorithm. The second part of the paper gives a formal basis for a performance evaluation of the algorithm. A class of primitive recursive function 15 characterized in terms of function definition schemata, and a proof is given that in such a case the properties surmised by the algorithm actually hold. Hence, the surmising algorithm can be used as a peculiar theorem prover for the given restricted primitive recursive function class. Finally,the implementation issues are briefly discussed.
1978
http://www.di.unito.it/~franco/PUBS/TR/N10.pdf
Software methodology; executable program specifications; program properties; generalization and instantiation; symbolic execution.
P. Degano; Franco Sirovich
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/45147
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact