Promoting Reuse with Active Reuse Repository Systems

  • Yunwen Ye
  • Gerhard Fischer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1844)


Software component-based reuse is difficult for software developers to adopt because first they must know what components exist in a reuse repository and then they must know how to retrieve them easily. This paper describes the concept and implementation of active reuse repository systems that address the above two issues. Active reuse repository systems employ active information delivery mechanisms to deliver potentially reusable components that are relevant to the current development task. They can help software developers reuse components they did not even know existed. They can also greatly reduce the cost of component location because software developers need neither to specify reuse queries explicitly, nor to switch working contexts back and forth between development environments and reuse repository systems.


Software Developer Latent Semantic Analysis Semantic Space Software Reuse Reusable Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Basili, V., Briand, L., Melo, W.: How reuse influences productivity in objectoriented systems. Comm. of the ACM 39(10), 104–116 (1996)CrossRefGoogle Scholar
  2. 2.
    Biggerstaff, T.J., Mitbander, B.G., Webster, D.E.: Program understanding and the concept assignment problem. Comm. of the ACM 37(5), 72–83 (1994)CrossRefGoogle Scholar
  3. 3.
    Bradshaw, J.M.: Software Agents. AAAI Press, Menlo Park (1997)Google Scholar
  4. 4.
    Brooks, F.P.: The Mythical Man-Month: Essays on Software Engineering, 20th anniversary edn. Addison-Wesley, Reading (1995)Google Scholar
  5. 5.
    Deerwester, S., Dumais, S.T., Furnas, G.W., Landauer, T.K., Harshman, R.: Indexing by latent semantic analysis. Journal of the American Society for Information Science 41(6), 391–407 (1990)CrossRefGoogle Scholar
  6. 6.
    Devanbu, P., Brachman, R.J., Selfridge, P.G., Ballard, B.W.: LaSSIE: A knowledge-based software information system. Comm. of the ACM 34(5), 34–49 (1991)CrossRefGoogle Scholar
  7. 7.
    DiFelice, P., Fonzi, G.: How to write comments suitable for automatic software indexing. Journal of Systems and Software 42, 17–28 (1998)CrossRefGoogle Scholar
  8. 8.
    Engelbart, D.C.: Knowledge-domain interoperability and an open hyperdocument system. In: Proc. of Computer Supported Cooperative Work 1990, New York, NY USA, pp. 143–156 (1990)Google Scholar
  9. 9.
    Etzkorn, L.H., Davis, C.G.: Automatically identifying reusable OO legacy code. IEEE Computer 30(10), 66–71 (1997)Google Scholar
  10. 10.
    Fichman, R.G., Kemerer, C.E.: Object technology and reuse: Lessons from early adopters. IEEE Software 14(10), 47–59 (1997)Google Scholar
  11. 11.
    Fischer, G.: A critic for Lisp. In: Proc. of the 10th International Joint Conference on Artificial Intelligence, Los Altos, CA USA, pp. 177–184 (1987)Google Scholar
  12. 12.
    Fischer, G.: User modeling in human-computer interaction. User Modeling and User-Adapted Interaction (to appear)Google Scholar
  13. 13.
    Fischer, G., Henninger, S., Redmiles, D.: Cognitive tools for locating and comprehending software objects for reuse. In: Proc. of the 13th International Conference on Software Engineering, Austin, TX USA, pp. 318–328 (1991)Google Scholar
  14. 14.
    Fischer, G., Lemke, A.C., Schwab, T.: Knowledge-based help systems. In: Proc. of Human Factors in Computing Systems 1985, San Francisco, CA USA, pp. 161–167 (1985)Google Scholar
  15. 15.
    Fischer, G., Reeves, B.N.: Beyond intelligent interfaces: Exploring, analyzing and creating success models of cooperative problem solving. In: Baecker, R., Grudin, J., Buxton, W., Greenberg, S. (eds.) Readings in Human-Computer Interaction: Toward the Year 2000, 2nd edn., pp. 822–831. Morgan Kaufmann Publishers, San Francisco (1995)Google Scholar
  16. 16.
    Frakes, W.B., Fox, C.J.: Quality improvement using a software reuse failure modes models. IEEE Transactions on Software Engineering 22(4), 274–279 (1996)CrossRefGoogle Scholar
  17. 17.
    Frakes, W.B., Pole, T.P.: An empirical study of representation methods for reusable software components. IEEE Transactions on Software Engineering 20(8), 617–630 (1994)CrossRefGoogle Scholar
  18. 18.
    Henninger, S.: An evolutionary approach to constructing effective software reuse repositories. ACM Transactions on Software Engineering and Methodology 6(2), 111–140 (1997)CrossRefGoogle Scholar
  19. 19.
    Isoda, S.: Experiences of a software reuse project. Journal of Systems and Software 30, 171–186 (1995)CrossRefGoogle Scholar
  20. 20.
    Krueger, C.W.: Software reuse. ACM Computing Surveys 24(2), 131–183 (1992)CrossRefMathSciNetGoogle Scholar
  21. 21.
    Landauer, T.K., Dumais, S.T.: A solution to Plato’s problem: The latent semantic analysis theory of acquisition, induction and representation of knowledge. Psychological Review 104(2), 211–240 (1997)CrossRefGoogle Scholar
  22. 22.
    Lieberman, H.: Autonomous interface agents. In: Proc. of Human Factors in Computing Systems 1997, Atlanta, GA USA, pp. 67–74 (1997)Google Scholar
  23. 23.
    Lim, W.C.: Effects of reuse on quality, productivity and economics. IEEE Software 11(5), 23–29 (1994)CrossRefGoogle Scholar
  24. 24.
    Maarek, Y.S., Berry, D.M., Kaiser, G.E.: An information retrieval approach for automatically constructing software libraries. IEEE Transactions on Software Engineering 17(8), 800–813 (1991)CrossRefGoogle Scholar
  25. 25.
    Mili, H., Ah-Ki, E., Grodin, R., Mcheick, H.: Another nail to the coffin of faceted controlled-vocabulary component classification and retrieval. In: Proc. of Symposium on Software Reuse 1997, Boston, MA USA, pp. 89–98 (1997)Google Scholar
  26. 26.
    Mili, H., Mili, F., Mili, A.: Reusing software: Issues and research directions. IEEE Transactions on Software Engineering 21(6), 528–562 (1995)CrossRefGoogle Scholar
  27. 27.
    Norman, D.A.: Cognitive engineering. In: Norman, D.A., Draper, S.W. (eds.) User centered system design: New perspective on human-computer interaction, pp. 31–61. Lawrence Erlbaum Associates, Hillsdale (1986)Google Scholar
  28. 28.
    Ostertag, E., Hendler, J., Prieto-Diaz, R., Braun, C.: Computing similarity in a reuse library system: An AI-based approach. ACM Transactions on Software Engineering and Methodology 1(3), 205–228 (1992)CrossRefGoogle Scholar
  29. 29.
    Prieto-Diaz, R.: Implementing faceted classification for software reuse. Comm. of the ACM 34(5), 88–97 (1991)CrossRefGoogle Scholar
  30. 30.
    Reisberg, D.: Cognition. W. W. Norton & Company, New York (1997)Google Scholar
  31. 31.
    Rhodes, B.J., Starner, T.: Remembrance agent: A continuously running automated information retrieval system. In: Proc. of the 1st International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology, London, UK, pp. 487–495 (1996)Google Scholar
  32. 32.
    Rittri, M.: Using types as search keys in function libraries. Journal of Functional Programming 1(1), 71–89 (1989)CrossRefMathSciNetGoogle Scholar
  33. 33.
    Rosenbaum, S., DuCastel, B.: Managing software reuse–an experience report. In: Proc. of 17th International Conference on Software Engineering, Seattle, WA USA, pp. 105–111 (1995)Google Scholar
  34. 34.
    Simon, H.A.: The Sciences of the Artificial, 3rd edn. The MIT Press, Cambridge (1996)Google Scholar
  35. 35.
    Soloway, E., Ehrlich, K.: Empirical studies of programming knowledge. IEEE Transactions on Software Engineering SE-10(5), 595–609 (1984)CrossRefGoogle Scholar
  36. 36.
    Tracz, W.: The 3 cons of software reuse. In: Proc. of the 3rd Workshop on Institutionalizing Software Reuse, Syracuse, NY USA (1990)Google Scholar
  37. 37.
    Zaremski, A.M., Wing, J.M.: Signature matching: A tool for using software libraries. ACM Transactions on Software Engineering and Methodology 4(2), 146–170 (1995)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Yunwen Ye
    • 1
    • 2
  • Gerhard Fischer
    • 1
  1. 1.Department of Computer Science, CB 430University of Colorado at BoulderBoulderUSA
  2. 2.Software Engineering LaboratorySoftware Research Associates, Inc.TokyoJapan

Personalised recommendations