A Learning Agent that Assists the Browsing of Software Libraries

Locating software items is difficult, even for knowledgeable software designers, when searching in large, complex and continuously growing libraries. This paper describes a technique we term "active browsing". An active browser suggests to the designer items it estimates to be close to the target of the search. The novel aspect of active browsing is that it is entirely unobtrusive: it infers its similarity measure from the designer's normal browsing actions, without any special input. Experiments are presented in which the active browsing system succeeds 40% of the time in identifying the target before the designer has found it. An additional experiment indicates that this approach does, indeed, speed up searches.

[1]  Guy A. Boy,et al.  Indexing hypertext documents in context , 1991, HYPERTEXT '91.

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

[3]  Tom M. Mitchell,et al.  A Personal Learning Apprentice , 1992, AAAI.

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

[5]  W. Bruce Croft,et al.  Relevance feedback and inference networks , 1993, SIGIR.

[6]  John Ng Yuen Yan Improving active browsing with the negative inference and selective search methods , 1997 .

[7]  Gerhard Fischer,et al.  Cognitive tools for locating and comprehending software objects for reuse , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[8]  Kristina Höök,et al.  Inferring complex plans , 1993, IUI '93.

[9]  Gerhard Widmer,et al.  Effective Learning in Dynamic Environments by Explicit Context Tracking , 1993, ECML.

[10]  William B. Frakes,et al.  An Empirical Study of Representation Methods for Reusable Software Components , 1994, IEEE Trans. Software Eng..

[11]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[12]  Mathias Bauer Machine Learning for User Modeling and Plan Recognition , 1996 .

[13]  Pattie Maes,et al.  Evolving agents for personalized information filtering , 1993, Proceedings of 9th IEEE Conference on Artificial Intelligence for Applications.

[14]  A. Kobsa User Modeling : Recent Work , Prospects and Hazards , 1993 .

[15]  S.J.J. Smith,et al.  Empirical Methods for Artificial Intelligence , 1995 .

[16]  Gerard Salton,et al.  Research and Development in Information Retrieval , 1982, Lecture Notes in Computer Science.

[17]  Susan T. Dumais,et al.  The vocabulary problem in human-system communication , 1987, CACM.

[18]  Michael David Williams,et al.  What Makes RABBIT Run? , 1984, Int. J. Man Mach. Stud..

[19]  Barry G. Silverman,et al.  Expert Critics in Engineering Design: Lessons Learned and Research Needs , 1992, AI Mag..

[20]  Ian Sommerville,et al.  An information retrieval system for software components , 1988, SIGF.

[21]  Nicholas J. Belkin,et al.  Retrieval techniques , 1987 .

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

[23]  Diane J. Litman,et al.  Plan recognition for intelligent interfaces , 1990, Sixth Conference on Artificial Intelligence for Applications.

[24]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[25]  James L. Alty,et al.  Expert Systems: Concepts and Examples , 1984 .

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

[27]  R. Cohen,et al.  Specifying and updating plan libraries for plan recognition tasks , 1993, Proceedings of 9th IEEE Conference on Artificial Intelligence for Applications.

[28]  Thomas W. Mastaglio,et al.  Using critics to empower users , 1990, CHI '90.

[29]  Rubén Prieto-Díaz Implementing faceted classification for software reuse , 1991, CACM.

[30]  Edwin Bos Some virtues and limitations of action inferring interfaces , 1992, UIST '92.

[31]  William B. Frakes,et al.  Software reuse through information retrieval , 1986, SIGF.

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

[33]  William B. Frakes,et al.  Representing reusable software , 1990 .

[34]  Pattie Maes,et al.  Learning Interface Agents , 1993, AAAI.

[35]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[36]  Gerhard Fischer,et al.  Helgon: extending the retrieval by reformulation paradigm , 1989, CHI '89.

[37]  Pat Langley,et al.  Machine learning as an experimental science , 2004, Machine Learning.

[38]  Chris Drummond,et al.  Automatic goal extraction from user actions to accelerate the browsing of software libraries. , 1993 .

[39]  Ian H. Witten,et al.  TELS: learning text editing tasks from examples , 1993 .

[40]  W. Bruce Croft,et al.  Support for Browsing in an Intelligent Text Retrieval System , 1989, Int. J. Man Mach. Stud..

[41]  Timothy W. Finin Providing Help and Advice in Task Oriented Systems , 1983, IJCAI.

[42]  L. A. Hermens,et al.  A machine-learning apprentice for the completion of repetitive forms , 1994, IEEE Expert.

[43]  C. Hepburn Information retrieval system. , 1978, Journal of clinical orthodontics : JCO.

[44]  Donna K. Harman,et al.  Relevance feedback revisited , 1992, SIGIR '92.