The Transfer Problem in Analogical Reuse

Analogical reuse, as one form of case-based reasoning, has been shown to aid specification of requirements for computer systems. This paper reports an investigation in which 5 inexperienced software engineers transferred a reusable specification to produce a solution for an analogical software engineering problem. The software engineers exhibited mental laziness as well as analogical reasoning during reuse, and made errors consistent with poor analogical understanding. Results indicate the need for intelligent assistance during reuse of requirement specifications. First, malrules derived from errors during reasoning provide the basis for problem diagnosis. Second, strategies to guide analogical comprehension and transfer strategies are needed. These malrules and strategies have been designed as part of the AIR toolkit. More general implications for case-based design are then discussed.

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

[2]  Lisa Rubin Neal,et al.  A system for example-based programming , 1989, CHI '89.

[3]  B. Ross This is like that: The use of earlier problems and the separation of similarity effects. , 1987 .

[4]  Raymonde Guindon Designing the design process: exploiting opportunistic thoughts , 1990 .

[5]  B. Ross Distinguishing Types of Superficial Similarities: Different Effects on the Access and Use of Earlier Problems , 1989 .

[6]  D. Boehm-Davis,et al.  Mental representations of programs for student and professional programmers , 1987 .

[7]  K. Holyoak,et al.  Mathematical problem solving by analogy. , 1991, Journal of experimental psychology. Learning, memory, and cognition.

[8]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[9]  Françoise Détienne,et al.  Acquiring Experience in Object-Oriented Programming: Effects on Design Strategies , 1993 .

[10]  Mark T. Keane On Retrieving Analogues When Solving Problems , 1987 .

[11]  Michelene T. H. Chi,et al.  Self-Explanations: How Students Study and Use Examples in Learning To Solve Problems. Technical Report No. 9. , 1987 .

[12]  Thomas G. Moher,et al.  Some strategies of reuse in an object-oriented programming environment , 1989, CHI '89.

[13]  Janet L. Kolodner,et al.  Case-Based Reasoning , 1989, IJCAI 1989.

[14]  K. Holyoak,et al.  Schema induction and analogical transfer , 1983, Cognitive Psychology.

[15]  Janis A. Bubenko,et al.  Theories underlying requirements engineering: an overview of NATURE at Genesis , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[16]  Neil A. M. Maiden,et al.  Analysing the Novice Analyst: Cognitive Models in Software Engineering , 1992, Int. J. Man Mach. Stud..

[17]  L. R. Novick Analogical transfer, problem similarity, and expertise. , 1988, Journal of experimental psychology. Learning, memory, and cognition.

[18]  Neil A. M. Maiden,et al.  Requirements critiquing using domain abstractions , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[19]  E. Heit,et al.  Similarity and property effects in inductive reasoning. , 1994, Journal of experimental psychology. Learning, memory, and cognition.

[20]  Barry Smyth,et al.  Retrieving Adaptable Cases: The Role of Adaptation Knowledge in Case Retrieval , 1993, EWCBR.

[21]  Neil A. M. Maiden,et al.  Software Reusability: Delivering productivity gains or short cuts , 1990, INTERACT.