This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Learning Agent that Assists the Browsing of Software Libraries
December 2000 (vol. 26 no. 12)
pp. 1179-1196

Abstract—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 a 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 percent 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] J.A. Alty and M.J. Coombs, Expert Systems: Concepts And Examples. Nat'l Computing Centre Publications, 1984.
[2] M.J. Bates, “Terminological Assistance for the Online Subject Searcher,” Proc. Second Conf. Computer Interfaces for Information Retrieval, p. 7, 1986.
[3] M. Bauer, “Machine Learning for User Modeling and Plan Recognition,” Working Notes of Machine Learning Meets Human Computer Interaction Workshop (affiliated with the 13th Int'l Conf. Machine Learning), pp. 5-16, 1996.
[4] N.J. Belkin and W.B. Croft, “Retrieval Techniques,” Ann. Review Information Science and Technology, vol. 22, pp. 109-145, 1987.
[5] T.J. Biggerstaff and C. Richter, “Reusability Framework, Assessment and Directions,” Software Reusability, T.J. Biggerstaff and A.J. Perlis, eds., vol. 1, pp. 1-17, 1987.
[6] E. Bos, “Some Virtues and Limitations of Action Inferring Interfaces,” Proc. Fifth Ann. Symp. User Interface Software and Technology, pp. 79-88, 1992.
[7] F.R. Campagnoni and K. Ehrlich, “Information Retrieval Using a Hypertext-Based Help System,” Proc. 12th Int'l Conf. Research and Development in Information Retrieval, pp. 212-220, 1989.
[8] P.R. Cohen, Empirical Methods for Artificial Intelligence. Cambridge, Mass.: MIT Press, 1995.
[9] R. Cohen and B. Spencer, “Specifying and Updating Plan Libraries for Plan Recognition Tasks,” Proc. Ninth Conf. Artificial Intelligence Applications, pp. 27-33, 1993.
[10] A. Cypher, “EAGER: Programming Repetitive Tasks by Example,” Proc. CHI-91: Human Factors in Computing Systems, pp. 33-39, 1991.
[11] L. Dent, J. Boicario, J. McDermott, T. Mitchell, and D. Zabowski, “A Personal Learning Apprentice,” Proc. 10th Nat'l Conf. Artificial Intelligence, pp. 96-103, 1992.
[12] P. Devanbu et al., “LaSSIE: A Knowledge‐Based Software Information System,” Comm. ACM, May 1991, pp. 34‐49.
[13] C. Drummond, “Automatic Goal Extraction from User Actions to Accelerate the Browsing of Software Libraries,” master's thesis, Electrical Eng. Dept., Univ. of Ottawa, 1992.
[14] T.W. Finin, “Providing Help and Advice in Task Oriented Systems,” Proc. Eighth Int'l Joint Conf. Artificial Intelligence, pp. 176-178, 1983.
[15] G. Fischer, S. Henninger, and D. Redmiles, “Cognitive Tools for Locating and Comprehending Software Objects For Reuse,” Proc. CHI-91: Human Factors in Computing Systems, pp. 318-328, 1991.
[16] G. Fischer, A.C. Lemke, T. Mastaglio, and A.I. Morch, “Using Critics to Empower Users,” Proc. CHI-90: Human Factors in Computing Systems, pp. 337-347, 1990.
[17] G. Fischer and H. Nieper-Lemke, “Helgon: Extending the Retrieval by Reformulation Paradigm,” Proc. ACM Human Factors in Computing Systems CHI '89, 1989.
[18] W.B. Frakes and T.P. Pole, "An Empirical Study of Representation Methods for Reusable Components," IEEE Trans. Software Eng., Aug. 1994, pp. 617-630.
[19] W.B. Frakes and P. Gandel, “Representing Reusable Software,” Information and Software Technology, vol. 32, no. 10, pp. 47-54, 1990.
[20] W.B. Frakes and B.A. Nejmeh, “Software Reuse through Information Retrieval,” Proc. 12th Ann. Hawaii Int'l Conf. System Sciences, pp. 530-535, 1987.
[21] P. Freeman, “Reusable Software Engineering: Concepts and Research Directions,” Proc. Workshop Reusability in Programming, pp. 2-16, 1983.
[22] G. Furnas et al., "The Vocabulary Problem in Human-System Communication," Comm. ACM, Nov. 1987, pp. 964-971.
[23] B.A. Goodman and D.J. Litman, “Plan Recognition for Intelligent Interfaces,” Proc. Sixth Conf. Artificial Intelligence Applications, pp. 297-303, 1990.
[24] D. Haines and W.B. Croft, “Relevance Feedback and Inference Networks,” Proc. 16th Int'l Conf. Research and Development in Information Retrieval, pp. 2-11, 1993.
[25] D. Harman, “Relevance Feedback Revisited,” Proc. 15th Int'l Conf. Research and Development in Information Retrieval, pp. 1-10, 1992.
[26] R. Helm and Y.S. Maarek, “Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval In Object-Oriented Class Libraries,” Proc. OOPSLA-91: Object-Oriented Programming Systems, Languages, and Applications, pp. 47-60, 1991.
[27] S. Henninger, “CodeFinder: A Tool for Locating Software Objects for Reuse,” Working Notes of Automating Software Design: Interactive Design Workshop (affiliated with the Ninth Nat'l Conf. Artificial Intelligence), pp. 40-47, 1991.
[28] L.A. Hermens and J.C. Schlimmer, “A Machine-Learning Apprentice for the Completion of Repetitive Forms,” Proc. Ninth Conf. Artificial Intelligence for Applications, pp. 164-170, 1993.
[29] K. Hook, J. Karlgren, and A. Woern, “Inferring Complex Plans,” Proc. Intelligent User Interfaces-93, pp. 231-234, 1993.
[30] A. Jennings and H. Higuchi, “A User Model Neural Network for a Personal News Service,” User Modeling and User-Adapted Interaction, vol. 3, pp. 1-25, 1993.
[31] C. Kaplan, J. Fenwick, and J. Chen, “Adaptive Hypertext Navigation Based on User Goals and Context,” User Modeling and User-Adapted Interaction, vol. 3, pp. 193-220, 1993.
[32] D. Kibler and P. Langley, “Machine Learning as an Experimental Science,” Proc. Third European Working Session on Learning, pp. 81-92, 1988.
[33] A. Kobsa, “User Modeling: Recent Work, Prospects and Hazards,” Adaptive User Interfaces: Principles and Practice, pp. 111-128, 1993.
[34] C. Krueger, “Software Reuse,” ACM Computing Surveys, June 1992, pp. 131‐183.
[35] Y.S. Yoelle, S. Maarek,D.M. Berry,, and G.E. Kaiser,“An information retrieval approach for automatically constructing software libraries,” IEEE Trans. Software Engineering, vol. 17, no. 8, pp. 800-813, Aug. 1991.
[36] P. Maes and R. Kozierok, “Learning Interface Agents,” Proc. 11th Nat'l Conf. Artificial Intelligence, pp. 459-465, 1993.
[37] J.D. Ng Yuen Yan, “Improving Active Browsing with the Negative Inference and Selective Search Methods,” master's thesis, Computer Science Dept., Univ. of Ottawa, 1997.
[38] P.F. Patel-Schneider, R.J. Brachman, and H.J. Levesque, “ARGON: Knowledge Representation Meets Information Retrieval,” Proc. First Conf. Artificial Intelligence Applications, pp. 280-286, 1984.
[39] W. Pohl, “Learning about the User—User Modeling and Machine Learning,” Working Notes of Machine Learning Meets Human Computer Interaction Workshop (affiliated with the 13th Int'l Conf. Machine Learning), pp. 29-40, 1996.
[40] R. Prieto-Diaz, “Implementing Faceted Classification for Software Reuse,” Comm. ACM, May 1991, pp. 88‐97.
[41] B. Sheth and P. Maes, “Evolving Agents for Personalized Information Filtering,” Proc. Ninth Conf. Artificial Intelligence for Applications, pp. 345-352, 1993.
[42] B.G. Silverman and T.M. Mezher,“Expert critics in engineering design: Lessons learned and researchneeds,” AI Magazine, vol. 13, no.1, Spring 1992.
[43] R.H. Thompson and B.W. Croft, "Support for Browsing in an Intelligent Text Retrieval System," Int'l J. Man-Machine Studies, Vol. 30, No. 6, 1989, pp. 639-668.
[44] G. Widmer and M. Kubat, “Effective Learning in Dynamic Environments by Explicit Context Tracking,” Proc. European Conf. Machine Learning (ECML-93), pp. 227-243, 1993.
[45] M.D. Williams, “What Makes RABBIT Run ?” Int'l J. Man-Machine Studies, vol. 21, pp. 333-352, 1984.
[46] I.H. Witten and D. Mo, “TELS: Learning Text Editing Tasks from Examples,” Watch What I Do, pp. 183-204, 1993.
[47] M. Wood and I. Sommerville, “An Information Retrieval System for Software Components,” Technical Report No. RR-88-14, Univ. of Strathclyde, Scotland, 1988.

Index Terms:
Software reuse, searching software libraries, learning agents, simulated human users, active browsing.
Citation:
Christopher G. Drummond, Dan Ionescu, Robert C. Holte, "A Learning Agent that Assists the Browsing of Software Libraries," IEEE Transactions on Software Engineering, vol. 26, no. 12, pp. 1179-1196, Dec. 2000, doi:10.1109/32.888631
Usage of this product signifies your acceptance of the Terms of Use.