Bibliography

Aaen, 1992
Aaen, I. (1992).
Case tools bootstrapping (how little strokes fell great oaks).
In K. Lyytinen, V.-P. T., editor, Next Generation CASE Tools, pages 8-17. IOS, Netherlands.

Alexander, 1964
Alexander, C. (1964).
The Synthesis of Form.
Harvard University Press.

Alexander et al., 1977
Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., and S., A. (1977).
A Pattern Language: Towns, Buildings, Construction.
Oxford University Press, New York.

Anderson et al., 2000
Anderson, K. M., Taylor, R. N., and Whitehead, E. J. (2000).
Chimera: Hypermedia for heterogeneous software development environments.
ACM Transactions on Information Systems, 18(3):211-245.

Aoki et al., 2001
Aoki, A., Hayashi, K., Kishida, K., Nakakoji, K., Nishinaka, Y., Reeves, B., Takashima, A., and Yamamoto, Y. (2001).
A case study of the evolution of jun: An object-oriented open-source 3d multimedia library.
In Proceedings of 23rd International Conference on Software Engineering (ICSE'01), page (to appear), Toronto, Canada.

Armstrong et al., 1995
Armstrong, R., Freitag, D., Joachims, T., and Mitchell, T. (1995).
Webwatcher: A learning apprentice for the world wide web.
In Proceedings of AAAI Spring Symposium on Information Gathering, pages 6-12, Stanford, CA.

Balabanovic and Shoham, 1995
Balabanovic, M. and Shoham, Y. (1995).
Learning information retrieval agents: Experiments with automated web browsing.
In Proceedings of AAAI Spring Symposium on Information Gathering, pages 13-18, Stanford, CA.

Basili et al., 1996
Basili, V., Briand, L., and Melo, W. (1996).
How reuse influences productivity in object-oriented systems.
Communications of the ACM, 39(10):104-116.

Batory et al., 2000
Batory, D., Johnson, C., MacDonald, B., and von Heeder, D. (2000).
Achieving extensibility through product-lines and domain-specific languages: A case study.
In Proceedings of 6th International Conference on Software Reuse (ICSR-6), pages 117-136, Vienna, Austria. Springer-Verlag.

Belkin and Croft, 1992
Belkin, N. and Croft, B. (1992).
Information filtering and information retrieval.
Communications of the ACM, 35(12):29-37.

Biggerstaff, 2000
Biggerstaff, T. J. (2000).
A new control structure for transformation-based generators.
In Proceedings of 6th International Conference on Software Reuse (ICSR-6), pages 1-19, Vienna, Austria. Springer-Verlag.

Biggerstaff et al., 1994
Biggerstaff, T. J., Mitbander, B. G., and Webster, D. E. (1994).
Program understanding and the concept assignment problem.
Communications of the ACM, 37(5):72-83.

Boehm, 1999
Boehm, B. (1999).
Managing software productivity and reuse.
IEEE Computer, 16(9):111-113.

Bradshaw, 1997
Bradshaw, J. M. (1997).
An introduction to software agents.
In Bradshaw, J. M., editor, Software Agents, pages 1-46. AAAI Press, Menlo Park, CA.

Brooks, 1995
Brooks, F. P. J. (1995).
The Mythical Man-Month: Essays on Software Engineering.
Addison-Wesley, Reading, MA, 20th anniversary edition.

Browne et al., 1990
Browne, J., Lee, T., and Werth, J. (1990).
Experimental evaluation of a reusability-oriented parallel programming environment.
IEEE Transactions on Software Engineering, 16(2):111-120.

Buckley et al., 1994
Buckley, C., Salton, G., and Allan, J. (1994).
The effect of adding relevance information in a relevance feedback environment.
In Croft, W. B. and Rijsbergen, C. J. v., editors, Proceedings of 17th Annual International ACM SIGIR Conference, pages 292-300, Dublin, Ireland. Springer-Verlag.

Card et al., 1991
Card, S., Robertson, G., and Mackinlay, J. (1991).
The information visualizer: An information workspace.
In Proceedings of Conference on Human Factors in Computing Systems, pages 181-188. ACM Press.

Carey and Rusli, 1995
Carey, T. and Rusli, M. (1995).
Usage representations for reuse of design insights: A case study of access to on-line books.
In Carroll, J. M., editor, Scenario-Based Design: Envisioning Work and Technology in System Development, pages 165-182. Wiley.

Carroll and Rosson, 1987
Carroll, J. M. and Rosson, M. B. (1987).
Paradox of the active user.
In Carroll, J. M., editor, Interfacing Thought: Cognitive Aspects of Human-Computer Interaction, pages 80-111. The MIT Press, Cambridge, MA.

Cox, 1996
Cox, B. J. (1996).
Superdistribution: Objects as Property on the Electronic Frontier.
Addison-Wesley, Reading, MA.

Crestani et al., 1998
Crestani, F., Lalmas, M., Van Rijsbergen, C. J., and Campbell, I. (1998).
'is this document relevant? ... probably': A survey of probabilistic models in information retrieval.
ACM Computing Surveys, 30(4):528-552.

Croft and Harper, 1979
Croft, W. B. and Harper, D. J. (1979).
Using probabilistic models of document retrieval without relevance information.
Journal of the Documentation, 35:285-295.

Curtis, 1989
Curtis, B. (1989).
Cognitive issues in reusing software artifacts.
In Biggerstaff, T. J. and Perlis, A. J., editors, Software Reusability, volume II, pages 269-287. ACM Press, New York.

Curtis et al., 1988
Curtis, B., Krasner, H., and Iscoe, N. (1988).
A field study of the software design process for large systems.
Communications of the ACM, 31(11):1268-1287.

Damiani et al., 1997
Damiani, E., Fugini, M. G., and Fusaschi, E. (1997).
A descriptor-based approach to oo code reuse.
IEEE Software, 14(10):73-80.

Deerwester et al., 1990
Deerwester, S., Dumais, S. T., Furnas, G. W., Landauer, T. K., and Harshman, R. (1990).
Indexing by latent semantic analysis.
Journal of the American Society for Information Science, 41(6):391-407.

Detienne, 1995
Detienne, F. (1995).
Design strategies and knowledge in object-oriented programming: Effects of expertise.
Human-Computer Interaction, 10(2/3):129-169.

Devanbu et al., 1991
Devanbu, P., Brachman, R. J., Selfridge, P. G., and Ballard, B. W. (1991).
Lassie: A knowledge-based software information system.
Communications of the ACM, 34(5):34-49.

DiBona et al., 1999
DiBona, C., Ockman, S., and Stone, M., editors (1999).
Open Sources: Voices from the Open Source Revolution.
O'Reilly & Associates, Sebastopol, CA.

DiCosmo, 1995
DiCosmo, R. (1995).
Isomorphisms of Types: From Lamda Calculus to Information Retrieval and Language Design.
Birkhauser, Boston.

Dieterich et al., 1993
Dieterich, H., Malinowski, U., Kuhme, T., and Schneider-Hufschmidt, M. (1993).
State of the art in adaptive user interfaces.
In Schneider-Hufschmidt, M., Kuhme, T., and Malinowski, U., editors, Adaptive User Interfaces: Principles and Practice, pages 13-48. Elsevier Science Publishers, Amsterdam.

DiFelice and Fonzi, 1998
DiFelice, P. and Fonzi, G. (1998).
How to write comments suitable for automatic software indexing.
Journal of Systems and Software, 42:17-28.

Dubinsky et al., 1989
Dubinsky, E., Freudenberger, S., Schonberg, E., and Schwartz, J. T. (1989).
Reusability of design for large software systems: An experiment with the setl optimizer.
In Biggerstaff, T. J. and Perlis, A. J., editors, Software Reusability, volume I, pages 275-294. ACM Press, New York.

Dusink and Van Katwijk, 1995
Dusink, L. and Van Katwijk, J. (1995).
Reuse dimensions.
In Proceedings of ACM Symposium on Software Reuse (SSR'95), pages 137-149, Seattle, WA. ACM Press.

Engelbart, 1990
Engelbart, D. C. (1990).
Knowledge-domain interoperability and an open hyperdocument system.
In Proceedings of Computer Supported Cooperative Work 1990, pages 143-156, New York. ACM Press.

Etzkorn and Davis, 1997a
Etzkorn, L. H. and Davis, C. G. (1997a).
Automated object-oriented reusable component identification.
Knowledge-Based Systems, 9(8):517-524.

Etzkorn and Davis, 1997b
Etzkorn, L. H. and Davis, C. G. (1997b).
Automatically identifying reusable oo legacy code.
IEEE Computer, 30(10):66-71.

Fafchamps, 1994
Fafchamps, D. (1994).
Organizational factors and reuse.
IEEE Software, 11(5):31-41.

Feather, 1989
Feather, M. S. (1989).
Reuse in the context of a transformation-based methodology.
In Biggerstaff, T. J. and Perlis, A. J., editors, Software Reusability, pages 337-360. ACM Press, New York.

Fichman and Kemerer, 1997
Fichman, R. G. and Kemerer, C. E. (1997).
Object technology and reuse: Lessons from early adopters.
IEEE Software, 14(10):47-59.

Fischer, 1987
Fischer, G. (1987).
A critic for lisp.
In McDermott, J., editor, Proceedings of the 10th International Joint Conference on Artificial Intelligence, pages 177-184, Los Altos, CA. Morgan Kaufmann.

Fischer, 1991
Fischer, G. (1991).
Supporting learning on demand with design environments.
In Birnbaum, L., editor, International Conference on the Learning Sciences, pages 165-172. Association for the Advancement of Computing in Education, Evanston, IL.

Fischer, 1993
Fischer, G. (1993).
Shared knowledge in cooperative problem-solving systems--integrating adaptive and adaptable components.
In Schneider-Hufschmidt, M., Kuehme, T., and Malinowski, U., editors, Adaptive User Interfaces: Principles and Practice, pages 49-68. Elsevier Science Publishers, Amsterdam.

Fischer, 1994
Fischer, G. (1994).
Domain-oriented design environments.
Automated Software Engineering, 1(2):177-203.

Fischer, 1998a
Fischer, G. (1998a).
Beyond 'couch potatoes': From consumers to designers.
In Proceedings of 1998 Asia-Pacific Computer and Human Interaction, pages 2-9, Kanagawa, Japan. IEEE Computer Society.

Fischer, 1998b
Fischer, G. (1998b).
Seeding, evolutionary growth and reseeding: Constructing, capturing and evolving knowledge in domain-oriented design environments.
Automated Software Engineering, 5(4):447-464.

Fischer, 2001
Fischer, G. (2001).
User modeling in human-computer interaction.
User Modeling and User-Adapted Interaction, page (to appear).

Fischer and Eisenberg, 1994
Fischer, G. and Eisenberg, M. (1994).
Programmable design environments: Integrating end-user programming with domain-oriented assistance.
In Human Factors in Computing Systems, CHI'94 Conference Proceedings, pages 431-437, Boston, MA.

Fischer et al., 1991
Fischer, G., Henninger, S., and Redmiles, D. (1991).
Cognitive tools for locating and comprehending software objects for reuse.
In Proceedings of 13th International Conference on Software Engineering (ICSE'91), pages 318-328, Austin, TX. IEEE Computer Society.

Fischer et al., 1985
Fischer, G., Lemke, A. C., and Schwab, T. (1985).
Knowledge-based help systems.
In Human Factors in Computing Systems, CHI'85 Conference Proceedings, pages 161-167, San Francisco, CA.

Fischer and Mastaglio, 1989
Fischer, G. and Mastaglio, T. (1989).
Computer-based critics.
In Proceedings of the 22nd Annual Hawaii Conference on System Sciences (HICSS-22), Vol. III: Decision Support and Knowledge Based Systems Track, pages 427-436. IEEE Computer Society, Kailua-Kona, HI.

Fischer et al., 1993
Fischer, G., Nakakoji, K., Ostwald, J., Stahl, G., and Sumner, T. (1993).
Embedding critics in design environments.
The Knowledge Engineering Review Journal, 8(4):285-307.

Fischer et al., 1998
Fischer, G., Nakakoji, K., Ostwald, J., Stahl, G., and Sumner, T. (1998).
Embedding critics in design environments.
In Maybury, M. T. and Wahlster, W., editors, Readings in Intelligent User Interfaces, pages 537-559. Morgan Kaufmann Publisher.

Fischer and Nieper-Lemke, 1989
Fischer, G. and Nieper-Lemke, H. (1989).
Helgon: Extending the retrieval by reformulation paradigm.
In Human Factors in Computing Systems, CHI'89 Conference Proceedings, pages 357-362, Austin, TX.

Fischer et al., 1995
Fischer, G., Redmiles, D., Williams, L., Puhr, G., Aoki, A., and Nakakoji, K. (1995).
Beyond object-oriented development: Where current object-oriented approaches fall short.
Human-Computer Interaction, Special Issue on Object-Oriented Design, 10(1):79-119.

Fischer and Reeves, 1995
Fischer, G. and Reeves, B. N. (1995).
Beyond intelligent interfaces: Exploring, analyzing and creating success models of cooperative problem solving.
In Baecker, R., Grudin, J., Buxton, W., and Greenberg, S., editors, Readings in Human-Computer Interaction: Toward the Year 2000, pages 822-831. Morgan Kaufmann, San Francisco, CA, 2nd edition.

Fischer and Schneider, 1984
Fischer, G. and Schneider, M. (1984).
Knowledge-based communication processes in software engineering.
In Proceedings of 7th International Conference on Software Engineering (ICSE'84), pages 358-368, Orlando, FL. IEEE Computer Society.

Fischer and Ye, 2001
Fischer, G. and Ye, Y. (2001).
Personalizing delivered information in a software reuse environment.
In Proceedings of User Modeling 2001, page (to appear), Sonthofen, Germany.

Flanagan, 1997
Flanagan, D. (1997).
JAVA in a Nutshell.
O'Reilly & Associates, Sebastopol, CA, 2nd edition.

Frakes and Terry, 1996
Frakes, W. and Terry, C. (1996).
Software reuse: Metrics and models.
ACM Computing Surveys, 28(2):415-435.

Frakes and Fox, 1995
Frakes, W. B. and Fox, C. J. (1995).
Sixteen questions about software reuse.
Communications of the ACM, 38(6):75-87.

Frakes and Fox, 1996
Frakes, W. B. and Fox, C. J. (1996).
Quality improvement using a software reuse failure modes model.
IEEE Transactions on Software Engineering, 22(4):274-279.

Frakes and Pole, 1994
Frakes, W. B. and Pole, T. P. (1994).
An empirical study of representation methods for reusable software components.
IEEE Transactions on Software Engineering, 20(8):617-630.

Furnas et al., 1987
Furnas, G. W., Landauer, T. K., Gomez, L. M., and Dumais, S. T. (1987).
The vocabulary problem in human-system communication.
Communications of the ACM, 30(11):964-971.

Gamma et al., 1994
Gamma, E., Johnson, R., Helm, R., and Vlissides, J. (1994).
Design Patterns--Elements of Reusable Object-Oriented Systems.
Addison-Wesley, Reading, MA.

Ghezzi et al., 1991
Ghezzi, C., Jazayeri, M., and Mandrioli, D. (1991).
Fundamentals of Software Engineering.
Prentice Hall, Englewood Cliffs, NJ.

Girardi and Ibrahim, 1995
Girardi, M. R. and Ibrahim, B. (1995).
Using english to retrieve software.
Journal of Systems and Software, 30:249-270.

Girgensohn, 1992
Girgensohn, A. (1992).
End-User Modifiability in Knowledge-Based Design Environments.
Ph.d. dissertation, University of Colorado at Boulder.

Gosling et al., 1996
Gosling, J., Joy, B., and Steele, G. (1996).
The Java Language Specification.
Addison-Wesley, Reading, MA, 2nd edition.

Graham, 1995
Graham, I. (1995).
Reuse: A key to successful migration.
Object Magazine, 5(6):82-83.

Griss, 2000
Griss, M. L. (2000).
Implementing product-line features with component reuse.
In Proceedings of 6th International Conference on Software Reuse (ICSR-6), pages 137-152, Vienna, Austria. Springer-Verlag.

Grudin, 1994
Grudin, J. (1994).
Groupware and social dynamics: Eight challenges for developers.
Communications of the ACM, 37(1):92-105.

Halasz, 1988
Halasz, F. G. (1988).
Reflections on notecards: Seven issues for the next generation of hypermedia systems.
Communications of ACM, 31(7):836-852.

Hall, 1993
Hall, R. J. (1993).
Generalized behavior-based retrieval.
In Proceedings of 15th International Conference on Software Engineering (ICSE'93), pages 371-380, Baltimore, MD. ACM Press.

Hallsteinsen and Paci, 1997
Hallsteinsen, S. and Paci, M., editors (1997).
Experiences in Software Evolution and Reuse: Twelve Real World Projects.
Springer-Verlag, Berlin.

Harman, 1995
Harman, D. (1995).
Overview of the third retrieval conference (trec-3).
In Harman, D., editor, Overview of the Third REtrieval Conference, pages 1-21. National Institute of Standards and Technology Special Publication, Gaithersburg, MD.

Hayes and Simon, 1977
Hayes, J. R. and Simon, H. A. (1977).
Psychological differences among problem isomorphs.
In Castellan, N. J., Pisoni, D. B., and Potts, G. R., editors, Cognitive Theory, volume 2. Erlbaum, Hillsdale, NJ.

Hayes-Roth and Hayes-Roth, 1979
Hayes-Roth, B. and Hayes-Roth, F. (1979).
A cognitive model of planning.
Cognitive Science, 3:275-310.

Helm and Maarek, 1991
Helm, R. and Maarek, Y. S. (1991).
Integrating information retrieval and domain specific approaches for browsing and retrieval in object-oriented class libraries.
In Proceedings of the 1991 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'91), pages pp. 47-61.

Henderson-Sellers and Edwards, 1990
Henderson-Sellers, B. and Edwards, J. M. (1990).
The object-oriented systems life cycle.
Communications of the ACM, 33(9):143-159.

Henninger, 1993
Henninger, S. (1993).
Locating Relevant Examples for Example-Based Software Design.
Ph.d. dissertation, University of Colorado at Boulder.

Henninger, 1997
Henninger, S. (1997).
An evolutionary approach to constructing effective software reuse repositories.
ACM Transactions on Software Engineering and methodology, 6(2):111-140.

Hoc et al., 1990
Hoc, J.-M., Green, T. R. G., Samurcay, R., and Gilmore, D. J., editors (1990).
Psychology of Programming.
Academic Press, New York.

Horvitz et al., 1999
Horvitz, E., Jacobs, A., and Hovel, D. (1999).
Attention-sensitive alerting.
In Proceedings of Conference on Uncertainty and Artificial Intelligence 1999, pages 305-313, San Francisco, CA. Morgan Kaufmann.

Isoda, 1995
Isoda, S. (1995).
Experiences of a software reuse project.
Journal of Systems and Software, 30:171-186.

Jarzabek and Huang, 1998
Jarzabek, S. and Huang, R. (1998).
The case for user-centered case tools.
Communications of the ACM, 41(8):93-99.

Johnson, 1997
Johnson, R. E. (1997).
Components, frameworks, patterns.
In Proceedings of ACM Symposium on Software Reuse (SSR'97), pages 10-17, Boston, MA. ACM Press.

Jones, 1997
Jones, M. P. (1997).
Spoken-Language Help for High-Functionality Applications.
Ph.d. dissertation, University of Colorado at Boulder.

Jones, 1984
Jones, T. C. (1984).
Reusability in programming: A survey of the state of the art.
IEEE Transactions on Software Engineering, SE-10(5):1984.

Joos, 1994
Joos, R. (1994).
Software reuse at motolora.
IEEE Software, 11(5):42-47.

Jurafsky and Martin, 2000
Jurafsky, D. and Martin, J. (2000).
Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition.
Prentice-Hall, Upper Saddle River, NJ.

Kang, 1998
Kang, K. C. (1998).
Feature-oriented development of applications for a domain.
In Frakes, W., editor, Systematic Software Reuse, Annals of Software Engineering 5, pages 143-168. Baltzer Science Publishers, Bussum, The Netherlands.

Kintsch, 1998
Kintsch, W. (1998).
Comprehension: A Paradigm for Cognition.
Cambridge University Press, Cambridge, UK.

Konstan et al., 1997
Konstan, J. A., Miller, B. N., Maltz, D., Herlocker, J. L., Gordon, L. R., and Riedl, J. (1997).
Grouplens: Applying collaborative filtering to usenet news.
Communications of ACM, 40(3):77-87.

Krueger, 1992
Krueger, C. W. (1992).
Software reuse.
ACM Computing Surveys, 24(2):131-183.

Landauer and Dumais, 1997
Landauer, T. K. and Dumais, S. T. (1997).
A solution to plato's problem: The latent semantic analysis theory of acquisition, induction and representation of knowledge.
Psychological Review, 104(2):211-240.

Lange and Moher, 1989
Lange, B. M. and Moher, T. G. (1989).
Some strategies of reuse in an object-oriented programming environment.
In Human Factors in Computing Systems, CHI'89 Conference Proceedings, pages 69-73, Austin, TX. ACM Press.

Lieberman, 1997
Lieberman, H. (1997).
Autonomous interface agents.
In Human Factors in Computing Systems, CHI'97 Conference Proceedings, pages 67-74, Atlanta, GA. ACM Press.

Lim, 1994
Lim, W. C. (1994).
Effects of reuse on quality, productivity and economics.
IEEE Software, 11(5):23-29.

Maarek et al., 1991
Maarek, Y. S., Berry, D. M., and Kaiser, G. E. (1991).
An information retrieval approach for automatically constructing software libraries.
IEEE Transactions on Software Engineering, 17(8):800-813.

Meyer, 1997
Meyer, B. (1997).
Object-Oriented Software Construction.
Prentice Hall, 2nd edition.

Michail and Notkin, 1999
Michail, A. and Notkin, D. (1999).
Assessing software libraries by browsing similar classes, functions and relationships.
In Proceedings of 21st International Conference on Software Engineering (ICSE'99), pages 463-472, Los Angeles, CA. ACM Press.

Mili et al., 1997a
Mili, A., Mili, R., and Mittermeir, R. (1997a).
Storing and retrieving software components: A refinement-based system.
IEEE Transaction on Software Engineering, 23(7):445-460.

Mili et al., 1999
Mili, A., Yacoub, S., Addy, E., and Hafedh, M. (1999).
Toward an engineering discipline of software reuse.
IEEE Software, 16(5):22-31.

Mili et al., 1997b
Mili, H., Ah-Ki, E., Grodin, R., and Mcheick, H. (1997b).
Another nail to the coffin of faceted controlled-vocabulary component classification and retrieval.
In Proceedings of Symposium on Software Reuse (SSR'97), pages 89-98, Boston, MA. ACM Press.

Mili et al., 1995
Mili, H., Mili, F., and Mili, A. (1995).
Reusing software: Issues and research directions.
IEEE Transactions on Software Engineering, 21(6):528-562.

Morisio et al., 2000
Morisio, M., Seaman, C. B., Parra, A. T., Basili, V. R., Kraft, S. E., and Condon, S. E. (2000).
Investigating and improving a cots-based software development process.
In Proceedings of 22nd International Conference on Software Engineering (ICSE'00), pages 31-40, Limerick, Ireland. ACM Press.

Murray, 1987
Murray, D. M. (1987).
Embedded user models.
In Bullinger, H.-J. and Shackel, B., editors, Proceedings of Human-Computer Interaction (INTERACT'87), pages 228-235, Amsterdam. Elsevier.

Nakakoji, 1993
Nakakoji, K. (1993).
Increasing Shared Understanding of a Design Task between Designers and Design Environments: The Role of a Specification Component.
Ph.d. dissertation, University of Colorado at Boulder.

Nakakoji et al., 1998
Nakakoji, K., Yamamoto, Y., Suzuki, T., Takada, S., and Gross, M. D. (1998).
From critiquing to representational talkback: Computer support for revealing features in design.
Knowledge-Based Systems, 11(7-8):457-468.

Nardi et al., 1998
Nardi, B. A., Miller, J. R., and Wright, D. J. (1998).
Collaborative, programmable intelligent agents.
Communications of the ACM, 41(3):96-104.

Neal, 1996
Neal, L. (1996).
Support for software design, development and reuse through an example-based environment.
In Szwillus, G. and Neal, L., editors, Structure-Based Editors and Environments, pages 185-192. Academic Press, San Diego, CA.

Norman, 1986
Norman, D. (1986).
Cognitive engineering.
In Norman, D. and Draper, S., editors, User Centered System Design, New Perspectives on Human-Computer Interaction, pages 31-61. Erlbaum, Hillsdale, NJ.

Norman, 1993
Norman, D. (1993).
Things That Make Us Smart.
Addison-Wesley, Reading, MA.

Ostertag et al., 1992
Ostertag, E., Hendler, J., Prieto-Diaz, R., and Braun, C. (1992).
Computing similarity in a reuse library system: An ai-based approach.
ACM Transactions on Software Engineering and Methodology, 1(3):205-228.

Owen, 1986
Owen, D. (1986).
Answers first, then questions.
In Norman, D. and Draper, S., editors, User Centered System Design, New Perspectives on Human-Computer Interaction, pages 361-375. Erlbaum, Hillsdale, NJ.

Pennington and Grabowski, 1990
Pennington, N. and Grabowski, B. (1990).
The tasks of programming.
In Hoc, J.-M., Green, T. R. G., Samurcay, R., and Gilmore, D. J., editors, Psychology of Programming, pages 45-61. Academic Press, New York.

Perry and Wolf, 1992
Perry, D. and Wolf, A. (1992).
Foundations for the study of software architecture.
ACM Software Engineering Notes, 17(4):40-52.

Podgurski and Pierce, 1993
Podgurski, A. and Pierce, L. (1993).
Retrieving reusable software by sampling behavior.
ACM Transactions on Software Engineering and Methodology, 2(3):286-303.

Prieto-Diaz, 1991
Prieto-Diaz, R. (1991).
Implementing faceted classification for software reuse.
Communications of the ACM, 34(5):88-97.

Rada, 1995
Rada, R. (1995).
Software Reuse: Principles, Methodologies and Practices.
Ablex, Norwood, NJ.

Raymond and Bob, 2001
Raymond, E. S. and Bob, Y. (2001).
The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary.
O'Reilly & Associates, rev. edition.

Redmiles, 1992
Redmiles, D. F. (1992).
From Programming Tasks to Solutions: Bridging the Gap through the Explanation of Examples.
Ph.d. dissertation, University of Colorado at Boulder.

Reeves, 1991
Reeves, B. N. (1991).
Locating the right object in a large hardware store - an empirical study of cooperative problem solving among humans.
Technical Report CU-CS-523-91, Department of Computer Science, University of Colorado.

Reeves, 1993
Reeves, B. N. (1993).
Supporting Collaborative Design by Embedding Communication and History in Design Artifacts.
Ph.d. dissertation, University of Colorado at Boulder.

Reisberg, 1997
Reisberg, D. (1997).
Cognition.
W. W. Norton & Company, New York.

Repenning, 1993
Repenning, A. (1993).
Agentsheets: A tool for building domain-oriented visual programming environments.
In Human Factors in Computing Systems, CHI'93 Conference Proceedings, pages 142-143. ACM Press, Amsterdam.

Rhodes and Starner, 1996
Rhodes, B. J. and Starner, T. (1996).
Remembrance agent: A continuously running automated information retrieval system.
In Proceedings of 1st International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology, pages 487-495, London.

Rich and Waters, 1988
Rich, C. H. and Waters, R. C. (1988).
Automatic programming: Myths and prospects.
21(8):40-51.

Rich and Waters, 1990
Rich, C. H. and Waters, R. C. (1990).
The Programmer's Apprentice.
Addison-Wesley, Reading, MA.

Rist, 1995
Rist, R. S. (1995).
Program structure and design.
Cognitive Science, pages 507-562.

Rittel, 1984
Rittel, H. (1984).
Second-generation design methods.
In Cross, N., editor, Developments in Design Methodology, pages 317-327. Wiley, New York.

Rittri, 1989
Rittri, M. (1989).
Using types as search keys in function libraries.
Journal of Functional Programming, 1(1):71-89.

Robbins and Redmiles, 1998
Robbins, J. E. and Redmiles, D. F. (1998).
Software architecture critics in the argo design environment.
Knowledge-Based Systems, 11:47-60.

Roberts, 1989
Roberts, R. M. (1989).
Serendipity: Accidental Discoveries in Science.
Wiley, New York.

Robertson et al., 1993
Robertson, G. G., Card, S. K., and Mackinlay, J. D. (1993).
Information visualization using 3d interactive animation.
Communications of the ACM, 36(4):57-71.

Robertson, 1977
Robertson, S. E. (1977).
The probability ranking principle in ir.
Journal of Documents, 33(4):294-304.

Robertson and Walker, 1994
Robertson, S. E. and Walker, S. (1994).
Some simple effective approximations to the 2-poisson model for probabilistic weighted retrieval.
In Croft, W. B. and Van Rijsbergen, C. J., editors, Proceedings of the 17th International ACM-SIGIR Conference, pages 232-241, Dublin, Ireland. Springer-Verlag.

Robertson et al., 1995
Robertson, S. E., Walker, S., Jones, S., Hancock-Beaulieu, M. M., and Gatford, M. (1995).
Okapi at trec-3.
In Harman, D. K., editor, The 3rd Text REtrieval Conference (TREC-3), pages 109-126. National Institute of Standards and Technology, Gaithersburg, MD.

Rosenbaum and DuCastel, 1995
Rosenbaum, S. and DuCastel, B. (1995).
Managing software reuse-an experience report.
In Proceedings of 17th International Conference on Software Engineering (ICSE'95), pages 105-111, Seattle, WA. ACM Press.

Rucker and Polanco, 1997
Rucker, J. and Polanco, m. J. (1997).
Siteseer: Personalized navigation for the web.
Communications of the ACM, 40(3):73-75.

Salton and McGill, 1983
Salton, G. and McGill, M. J. (1983).
Introduction to Modern Information Retrieval.
McGraw-Hill, New York.

Schön, 1983
Schön, D. A. (1983).
The Reflective Practitioner: How Professionals Think in Action.
Basic Books, New York.

Sen, 1997
Sen, A. (1997).
The role of opportunism in the software design reuse process.
IEEE Transactions on Software Engineering, 23(7):418-436.

Shaw and Garlan, 1996
Shaw, M. and Garlan, D. (1996).
Software Architecture: Perspectives on an Emerging Discipline.
Prentice Hall, Upper Saddle River, NJ.

Shneiderman, 1998
Shneiderman, B. (1998).
Designing the User Interface: Strategies for Effective Human-Computer Interaction.
Addison-Wesley, Reading, MA, 3rd edition.

Simon, 1996
Simon, H. A. (1996).
The Sciences of the Artificial.
The MIT Press, Cambridge, MA, third edition.

Soloway and Ehrlich, 1984
Soloway, E. and Ehrlich, K. (1984).
Empirical studies of programming knowledge.
IEEE Transactions on Software Engineering, SE-10(5):595-609.

Stringer-Calvert, 1994
Stringer-Calvert, D. W. J. (1994).
Signature matching for ada software reuse.
Master's thesis, University of York, UK.

Stroustrup, 1995
Stroustrup, B. (1995).
The C++ Programming Language.
Addison-Wesley, Reading, MA, 2nd edition.

Sumner, 1995
Sumner, T. (1995).
Designers and Their Tools: Computer Support for Domain Construction.
Ph.d. dissertation, University of Colorado at Boulder.

Szwillus and Neal, 1996
Szwillus, G. and Neal, L., editors (1996).
Structure-Based Editors and Environments.
Academic Press, New York.

Taylor et al., 1996
Taylor, R. N., Medvidovic, N., Anderson, K. M., Whitehead, E. J., Robbins, J. E., Nies, K. A., Oreizy, P., and Dubrow, D. L. (1996).
A component- and message-based architectural style for gui software.
IEEE Transactions on Software Engineering, 22(6):390-406.

Terveen et al., 1997
Terveen, L., Hill, W., Amento, B., McDonald, D., and Creter, J. (1997).
Phoaks: A system for sharing recommendations.
Communications of the ACM, 40(3):59-62.

Thomas, 1996
Thomas, C. G. (1996).
To Assist the User: On the Embedding of Adaptive and Agent-Based Mechanisms.
R. Oldenbourg Verlag.

Thomas et al., 1997
Thomas, W. M., Delis, A., and Basili, V. R. (1997).
An analysis of errors in a reuse-oriented development environment.
Journal of Systems Software, 38:211-224.

Tracz, 1990
Tracz, W. (1990).
The 3 cons of software reuse.
In Proceedings of the 3rd Annual Workshop on Institutionalizing Software Reuse (WISR '90), Syracuse, NY.

Van Rijsbergen, 1979
Van Rijsbergen, C. J. (1979).
Information Retrieval.
Butterworths, London, 2nd edition.

Virvou and Du Boulay, 1999
Virvou, M. and Du Boulay, B. (1999).
Human plausible reasoning for intelligent help.
User Modeling and User-Adapted Interaction, 9:321-375.

Visser, 1990
Visser, W. (1990).
More or less following a plan during design: Opportunistic deviations in specification.
International Journal of Man-Machine Studies, 33(3):247-278.

Wahlster and Kobsa, 1989
Wahlster, W. and Kobsa, A. (1989).
User models in dialog systems.
In Wahlster, W. and Kobsa, A., editors, User Models in Dialog Systems, pages 4-34. Springer-Verlag, New York.

Walker et al., 1998
Walker, S., Robertson, S. E., M., B., Jones, G. J. F., and K., S. J. (1998).
Okapi at trec-6: Automatic ad hoc, vlc, routing, filtering and qsdr.
In Harman, D. K., editor, The 6th Text REtrieval Conference (TREC-6), pages 125-136. National Institute of Standards and Technology, Gaithersburg, MD.

Williams et al., 1982
Williams, M. D., Tou, F. N., Fikes, R., Henderson, A., and Malone, T. W. (1982).
Rabbit: Cognitive science in interface design.
In Proceedings of the 4th Annual Conference of the Cognitive Science Society, pages 82-85, Ann Arbor, MI. Cognitive Science Society.

Wing, 1990
Wing, J. M. (1990).
A specifier's introduction to formal methods.
IEEE Computer, 23(9):8-24.

Winograd, 1995
Winograd, T. (1995).
From programming environments to environments for designing.
Communications of the ACM, 38(6):65-74.

Winograd and Flores, 1986
Winograd, T. and Flores, F. (1986).
Understanding Computers and Cognition: A New Foundation for Design.
Ablex, Norwood, NJ.

Woods and Yang, 1996
Woods, S. and Yang, Q. (1996).
The program understanding problem: Analysis and a heuristic approach.
In Proceedings of 18th International Conference on Software Engineering (ICSE'96), pages 6-15, Berlin, Germany. ACM Press.

Ye, 1996
Ye, Y. (1996).
Tcare-total computer aided reverse engineering tool.
In Proceedings of International Symposium on Software Engineering for the Next Generation, pages 89-95, Nagoya, Japan.

Ye, 1998
Ye, Y. (1998).
Supporting incremental learning with active accumulative and adaptable documentation.
In Proceedings of International Symposium on Future Software Technology 1998, pages 185-190, Hangzhou, China. Software Engineers Association.

Ye, 2001a
Ye, Y. (2001a).
An active and adaptive reuse repository system.
In Proceedings of 34th Hawaii International Conference on System Sciences (HICSS-34), pages CD-ROM, Maui, HI. IEEE Press.

Ye, 2001b
Ye, Y. (2001b).
Information enriched workspaces.
In Proceedings of INTERACT'01, page (to appear), Tokyo, Japan.

Ye and Fischer, 2000
Ye, Y. and Fischer, G. (2000).
Promoting reuse with active reuse repository systems.
In Proceedings of 6th International Conference on Software Reuse (ICSR-6), pages 302-317, Vienna, Austria. Springer-Verlag.

Ye et al., 2000
Ye, Y., Fischer, G., and Reeves, B. (2000).
Integrating active information delivery and reuse repository systems.
In Proceedings of ACM SIGSOFT 8th International Symposium on the Foundations of Software Engineering, pages 60-68, San Diego, CA. ACM Press.

Ye and Reeves, 2000
Ye, Y. and Reeves, B. (2000).
An active and intelligent agent for component location.
In Proceedings of Software Symposium 2000, pages 67-74, Kanazawa, Japan. Software Engineers Association.

Zand et al., 1997
Zand, M., Arango, G., Davis, M., Johnson, R., Poulin, J. S., and Watson, A. (1997).
Reuse r&d: Is it on the right track.
In Proceedings of ACM Symposium on Software Reuse (SSR'97), pages 212-216, Boston, MA. ACM Press.

Zaremski and Wing, 1995
Zaremski, A. M. and Wing, J. M. (1995).
Signature matching: A tool for using software libraries.
ACM Transactions on Software Engineering and Methodology, 4(2):146-170.

Zaremski and Wing, 1997
Zaremski, A. M. and Wing, J. M. (1997).
Specification matching of software components.
ACM Transaction on Software Engineering and Methodology, 6(4):333-369.

Zave and Schell, 1984
Zave, P. and Schell, W. (1984).
Salient features of an executable specification language and its environment.
IEEE Transactions on Software Engineering, SE-12(2):312-325.

Ph.D. Dissertation by Yunwen Ye, April 20, 2001, Department of Computer Science, University of Colorado