Similarity for Analogical Software Reuse: A Conceptual Modelling Approach

We present our approach to defining similarity between software artifacts and discuss its potential exploitation in software reuse by analogy. We first establish properties of similarity which support its role in retrieving and mapping software descriptions. Then we develop a systematic basis for comparison within a fairly general conceptual modelling framework, whereby comparable elements of the descriptions of software objects and corresponding similarity criteria are identified. Finally, a general form of distance metrics for the computation of similarity measures is defined.

[1]  Pat Langley,et al.  Models of Incremental Concept Formation , 1990, Artif. Intell..

[2]  L. R. Novick Analogical Transfer: Processes and Individual Differences , 1988 .

[3]  Lennart Sjoberg A Cognitive Theory of Similarity , 1972 .

[4]  Ryszard S. Michalski,et al.  Conceptual Clustering: Inventing Goal-Oriented Classifications of Structured Objects , 1986 .

[5]  Bruce A. Burton,et al.  The Reusable Software Library , 1987, IEEE Software.

[6]  Paul R. Cohen,et al.  Information retrieval by constrained spreading activation in semantic networks , 1987, Inf. Process. Manag..

[7]  Paul S. Rosenbloom,et al.  Combining Analytical and Similarity-Based CBR , 1988 .

[8]  Gerhard Fischer,et al.  Cognitive View of Reuse and Redesign , 1987, IEEE Software.

[9]  Russell Greiner,et al.  Abstraction-Based Analogical Inference , 1988 .

[10]  Robert W. Schwanke,et al.  An intelligent tool for re-engineering software modularity , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[11]  B. Curtis,et al.  Cognitive issues in reusing software artifacts , 1989 .

[12]  Dedre Gentner,et al.  Structure-Mapping: A Theoretical Framework for Analogy , 1983, Cogn. Sci..

[13]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

[14]  Donato Malerba,et al.  Classification in Noisy Environments Using a Distance Measure Between Structural Symbolic Descriptions , 1992, IEEE Trans. Pattern Anal. Mach. Intell..

[15]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

[16]  Neil A. M. Maiden,et al.  Analogical Matching For Specification , 1991, Proceedings., 6th Annual Knowledge-Based Software Engineering Conference.

[17]  Edward E. Smith Concepts and induction , 1989 .

[18]  Stuart J. Russell,et al.  Analogy by Similarity , 1988 .

[19]  Hemant K. Bhargava,et al.  Unique Names Violations, a Problem for Model Integration or You Say Tomato, I Say Tomahto , 1991, INFORMS J. Comput..

[20]  K. Holyoak,et al.  Surface and structural similarity in analogical transfer , 1987, Memory & cognition.

[21]  Kanth Miriyala,et al.  The Role Of Analogy In Specification Derivation , 1991, Proceedings., 6th Annual Knowledge-Based Software Engineering Conference.

[22]  Stanley B. Zdonik,et al.  Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like , 1988, ECOOP.

[23]  R. Michalski,et al.  Learning from Observation: Conceptual Clustering , 1983 .

[24]  Peter Wegner,et al.  The Object-Oriented Classification Paradigm , 1987, Research Directions in Object-Oriented Programming.

[25]  Wayne D. Gray,et al.  Basic objects in natural categories , 1976, Cognitive Psychology.

[26]  Rogers P. Hall,et al.  Computational Approaches to Analogical Reasoning: A Comparative Analysis , 1989, Artif. Intell..

[27]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[28]  A. Tversky Features of Similarity , 1977 .

[29]  Neil A. M. Maiden,et al.  Exploiting reusable specifications through analogy , 1992, CACM.

[30]  Patrick Henry Winston,et al.  Learning and reasoning by analogy , 1980, CACM.

[31]  Dedre Gentner,et al.  Analogical Inference and Analogical Access. , 1987 .

[32]  Julio Cesar Sampaio do Prado Leite,et al.  Requirements Validation Through Viewpoint Resolution , 1991, IEEE Trans. Software Eng..