The Role Of Analogy In Specification Derivation

Humans employ analogical reasoning frequently to reuse past experience for solving new problems. In this paper we show how past experience in program specification can be used by analogy to formalize new specifications. We briefly describe our analogy-based approach and then present the library example to illustrate how analogy can handle certain sources of informality.

[1]  Robert Balzer,et al.  Informality in Program Specifications , 1899, IEEE Transactions on Software Engineering.

[2]  W. Lewis Johnson Deriving specification from requirements , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[3]  Richard C. Waters,et al.  The Requirements Apprentice: Automated Assistance for Requirements Acquisition , 1991, IEEE Trans. Software Eng..

[4]  Roger C. Schank,et al.  Creativity and Learning in a Case-Based Explainer , 1989, Artif. Intell..

[5]  Stephen Fickas,et al.  Being Suspicious: Critiquing Problem Specifications , 1988, AAAI.

[6]  Moshe Burstein,et al.  Concept formatio n by incremental analogica l reasoning and debugging , 1983 .

[7]  Kristian J. Hammond,et al.  CHEF: A Model of Case-Based Planning , 1986, AAAI.

[8]  Howard B. Reubenstein,et al.  Automated Acquisition of Evolving Informal Descriptions , 1990 .

[9]  Russell Greiner,et al.  Learning by Understanding Analogies , 1986, Artif. Intell..

[10]  Kanth Miriyala,et al.  Automatic Derivation of Formal Software Specifications From Informal Descriptions , 1991, IEEE Trans. Software Eng..

[11]  Brian Falkenhainer,et al.  The Structure-Mapping Engine: Algorithm and Examples , 1989, Artif. Intell..

[12]  Rand J. Spiro,et al.  Multiple analogies for complex concepts: antidotes for analogy-induced misconception in advanced knowledge acquisition , 1988 .

[13]  Stephen Fickas,et al.  Critiquing software specifications , 1988, IEEE Software.

[14]  Brian Falkenhainer,et al.  Learning from physical analogies: A study in analogy and the explanation process , 1989 .

[15]  Richard A. Kemmerer,et al.  Testing Formal Specifications to Detect Design Errors , 1985, IEEE Transactions on Software Engineering.

[16]  Martin S. Feather Constructing Specifications by Combining Parallel Elaborations , 1989, IEEE Trans. Software Eng..