A knowledge base for code reuse by similarity

A description is given of WharfRat, a knowledge base of data type implementations which employs case-based reasoning as its primary retrieval mechanism. Given a description of an abstract data type, it retrieves the most similar data type implementation in the knowledge base. The focus of the study is the process by which two case descriptions are compared. Similarity between data types is modeled by a fuzzy relation. A set of similarity matching rules has been developed and implemented. The system employs a general, graph-based data model in which object types are organized in a specialization network. Abstract data representations are built using the constructs of the general data model. This system is the first step toward developing a complete programming-by-similarity system.<<ETX>>

[1]  George J. Klir,et al.  Fuzzy sets, uncertainty and information , 1988 .

[2]  David Garlan,et al.  Melding Software Systems from Reusable Building Blocks , 1987, IEEE Software.

[3]  Wendy G. Lehnert,et al.  Some Experiments with Case-Based Search , 1988, AAAI.

[4]  Nachum Dershowitz Program abstraction and instantiation , 1986 .

[5]  Charles Rich A Formal Representation For Plans In The Programmer's Apprentice , 1982, On Conceptual Modelling.

[6]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[7]  Kristian J. Hammond,et al.  Chapter 8 – Case-based Planning , 1989 .

[8]  Jaime G. Carbonell,et al.  Integrating derivational analogy into a general problem-solving architecture , 1988 .

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

[10]  Kevin D. Ashley,et al.  Compare and Contrast: A Test of Expertise , 1987, AAAI.

[11]  Janet L. Kolodner,et al.  A Process Model of Cased-Based Reasoning in Problem Solving , 1985, IJCAI.

[12]  R. Prieto-Diaz,et al.  Building and managing software libraries , 1988, Proceedings COMPSAC 88: The Twelfth Annual International Computer Software & Applications Conference.

[13]  Atul Prakash,et al.  Support for Reusability in Genesis , 1988, IEEE Trans. Software Eng..