An Experiment in Software Retrieval

This paper evaluates a knowledge-based approach for software retrieval. It describes a knowledge-based software information system that uses an expressive terminological knowledge representation to represent software and that offers a natural language query interface. The system is used to implement a cross reference tool for C++ and a tool for locating UNIX commands. The retrieval effectiveness is compared to approaches based on automatic indexing. It is shown that the knowledge-based approach is more precise than three different automatic indexing approaches, while providing excellent recall and adequate runtime performance.

[1]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[2]  Lutz Prechelt,et al.  The SIS project: software reuse with a natural language approach , 1992 .

[3]  Robert M. MacGregor,et al.  A Deductive Pattern Matcher , 1988, AAAI.

[4]  Perry S. Plexico,et al.  Data abstraction and object-oriented programming in C++ , 1990 .

[5]  Franz Baader,et al.  KRIS: Knowledge Representation and Inference System , 1991, SGAR.

[6]  Robert M. MacGregor,et al.  Inside the LOOM description classifier , 1991, SGAR.

[7]  James C. Browne,et al.  Experimental Evaluation of a Reusability-Oriented Parallel Programming Environment , 1990, IEEE Trans. Software Eng..

[8]  Premkumar T. Devanbu,et al.  Plan-Based Terminological Reasoning , 1991, KR.

[9]  Peter F. Patel-Schneider,et al.  Living wiht Classic: When and How to Use a KL-ONE-Like Language , 1991, Principles of Semantic Networks.

[10]  Bernhard Nebel,et al.  An Empirical Analysis of Terminological Representation Systems , 1992, Artif. Intell..

[11]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

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

[13]  Carsten Kindermann,et al.  Implementation of the BACK-System Version 4 , 1990 .

[14]  Bjarne Stroustrup,et al.  The Annotated C++ Reference Manual , 1990 .

[15]  Walt Scacchi,et al.  A hypertext system to manage software life-cycle documents , 1990, IEEE Software.

[16]  Yoelle Maarek,et al.  Integrating information retrieval and domain specific approaches for browsing and retrieval in object-oriented class libraries , 1991, OOPSLA '91.

[17]  Michael McGill,et al.  Introduction to Modern Information Retrieval , 1983 .

[18]  Yih-Farn Robin Chen,et al.  The C++ Information Abstractor , 1990, C++ Conference.

[19]  Deborah L. McGuinness,et al.  CLASSIC: a structural data model for objects , 1989, SIGMOD '89.

[20]  P. G. Selfridge,et al.  Knowledge representation support for a software information system , 1991, [1991] Proceedings. The Seventh IEEE Conference on Artificial Intelligence Application.

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

[22]  Jeannette M. Wing,et al.  Specifications as Search Keys for Software Libraries , 1991, ICLP.

[23]  C. V. Ramamoorthy,et al.  The C Information Abstraction System , 1990, IEEE Trans. Software Eng..

[24]  Ian Sommerville,et al.  An information retrieval system for software components , 1988, Softw. Eng. J..

[25]  Albrecht Schmiedel,et al.  The BACK System Revisited , 1989 .

[26]  Yoelle Maarek Software library construction from an IR perspective , 1991, SIGF.

[27]  Yoelle Maarek,et al.  Full text indexing based on lexical relations an application: software libraries , 1989, SIGIR '89.

[28]  Yoelle S. Maarek,et al.  Full-Text Indexing Based on Lexical Relations , 1989 .

[29]  Sunit K. Gala,et al.  Classification as a query processing technique in the CANDIDE semantic data model , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[30]  Franz Baader,et al.  A Terminological Knowledge Representation System with Complete Inference Algorithms , 1991, PDK.

[31]  Premkumar T. Devanbu,et al.  LaSSIE—a knowledge-based software information system , 1991, ICSE '90.

[32]  Peter Manhart,et al.  A Knowledge And Deduction Based Software Retrieval Tool , 1991, Proceedings., 6th Annual Knowledge-Based Software Engineering Conference.

[33]  L. Prechelt,et al.  Transportable natural language interfaces for taxonomic knowledge representation systems , 1993, Proceedings of 9th IEEE Conference on Artificial Intelligence for Applications.

[34]  P. Patel-Schneider Small can be beautiful in knowledge representation , 1984 .

[35]  William B. Frakes,et al.  An information system for software reuse , 1988 .

[36]  Gail E. Kaiser,et al.  An Information Retrieval Approach For Automatically Constructing Software Libraries , 1991, IEEE Trans. Software Eng..

[37]  L. Latour,et al.  Seer: a graphical retrieval system for reusable Ada software modules , 1988, [Proceedings 1988] The Third International IEEE Conference on Ada Applications and Environments.