Browse Prior Art Database

Meta-Evaluation as a Tool for Program Understanding

IP.com Disclosure Number: IPCOM000128655D
Original Publication Date: 1978-Dec-31
Included in the Prior Art Database: 2005-Sep-16
Document File: 11 page(s) / 40K

Publishing Venue

Software Patent Institute

Related People

Robert Balzer: AUTHOR [+5]

Abstract

Formal program specifications are difficult to write. They are always constructed from an informal precursor. We are exploring the technology required to aid in constructing the former from the latter. An informal specification differs from a formal one in that much information which the writer believes the reader can infer from the context has been suppressed. Resolution of the suppressed information depends upon information contained in other parts of the specification and upon knowledge of what makes a specification well-formed, as well as the ability to model the interaction of the parts of the specification with one another. This report describes the technology used in a running system that embodies theories of program well-formedness and informality resolution established by symbolically executing the program to systematically discover the intended meaning of each informal construct within an informal specification.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 9% of the total text.

Page 1 of 11

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Meta-Evaluation as a Tool for Program Understanding

Robert Balzer Neil Goldman David Wile

ARPA ORDER NO. 2223

ISIIRR-78-69 January INFORMATION SCIENCES INSTITUTE

4676 Admiralty WaylMarinadel Reyl California 90291 UNIVERSITY OF SOUTHERN CALIFORNIA f;~77 (213 822-1511

THIS RESEARCH IS SUPPORTED BY THE ADVANCED RESEARCH PROJECTS AGENCY UNDER CONTRACT NO. DAHC15 72 C 0308, ARPA ORDER N0.2223. VIEWS AND CONCLUSIONS CONTAINED IN THIS STUDY ARE THE AUTHOR'S AND SHOULD NOT BE INTERPRETED AS REPRESENTING THE OFFICIAL OPINION OR POLICY OF ARPA. THE U.S. GOVERNMENT OR ANY OTHER PERSON OR AGENCY CONNECTED WITH THEM. THIS DOCUMENT APPROVED FOR PUBLIC RELEASE AND SALE: DISTRIBUTION IS UNLIMITED.

ABSTRACT

Formal program specifications are difficult to write. They are always constructed from an informal precursor. We are exploring the technology required to aid in constructing the former from the latter.

An informal specification differs from a formal one in that much information which the writer believes the reader can infer from the context has been suppressed. Resolution of the suppressed information depends upon information contained in other parts of the specification and upon knowledge of what makes a specification well-formed, as well as the ability to model the interaction of the parts of the specification with one another.

This report describes the technology used in a running system that embodies theories of program well-formedness and informality resolution established by symbolically executing the program to systematically discover the intended meaning of each informal construct within an informal specification.

ACKNOWLEDGMENT

We are deeply indebted to Professor Herbert Simon for his comments on this work, which have deepened our understanding and sharpened our perception of its relation to his pioneering work with Professor Newell in understanding ill-formed problems.

INTRODUCTION

University of Southern California Page 1 Dec 31, 1978

Page 2 of 11

Meta-Evaluation as a Tool for Program Understanding

Producing a good specification has been recognized as a critical precursor to producing an acceptable software implementation. Considerable effort has been expended to produce better formalisms for software specification. We believe, however, that the difficulty lies in the formalisms themselves and that an aid in creating such formalisms, rather than a better formalism, is required.

Since software specifications are always first created in an informal language and then converted--external to any computer system--to some formalism, a system to aid this conversion process would significantly aid the specifier.

We are constructing such a system, called SAFE [1], which accepts an informal software specification as input and produces a formal operational equivalent (see [1] for example). Most of the transformation is accomplished automatically via the techniques described in this...