Using the Web as a Reuse Repository

  • Oliver Hummel
  • Colin Atkinson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4039)

Abstract

Software reuse is widely recognized as an effective way of increasing the quality of software systems whilst lowering the effort and time involved in their development. Although most of the basic techniques for software retrieval have been around for a while, third party reuse is still largely a “hit and miss” affair and the promise of large case component marketplaces has so far failed to materialize. One of the key obstacles to systematic reuse has traditionally been the set up and maintenance of up-to-date software repositories. However, the rise of the World Wide Web as a general information repository holds the potential to solve this problem and give rise to a truly ubiquitous library of (open source) software components. This paper surveys reuse repositories on the Web and estimates the amount of software currently available in them. We also briefly discuss how this software can be harvested by means of general purpose web search engines and demonstrate the effectiveness of our implementation of this approach by applying it to reuse examples presented in earlier literature.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    McIlroy, D.: Mass-Produced Software Components. Software Engineering: Report of a Conference sponsored by the NATO Science Committee, Garmisch (1969)Google Scholar
  2. 2.
    Hummel, O., Atkinson, C.: Extreme Harvesting: Test Driven Discovery and Reuse of Software Components. In: Proceedings of the International Conference on Information Reuse and Integration (IEEE-IRI), Las Vegas (2004)Google Scholar
  3. 3.
    Frakes, W.B., Fox, C.J.: Sixteen Questions about Software Reuse. Communications of the ACM 38(6) (1995)Google Scholar
  4. 4.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (1999)Google Scholar
  5. 5.
    Ye, Y., Fischer, G.: Reuse-Conducive Environments. Journal of Automated Software Engineering 12(2) (2005)Google Scholar
  6. 6.
    Seacord, R.: Software Engineering Component Repositories. In: Proceedings of the International Conference of Software Engineering, Los Angeles (1999)Google Scholar
  7. 7.
    Podgurski, A., Pierce, L.: Retrieving Reusable Software by Sampling Behavior. ACM Transactions on Software Engineering and Methodology 2(3) (1993)Google Scholar
  8. 8.
    Sirin, E., Hendler, J., Parsia, B.: Semi-automatic composition of web services using semantic descriptions. In: Web Services: Modeling, Architecture and Infrastructure workshop in ICEIS 2003, Angers (2003)Google Scholar
  9. 9.
    Frakes, W.B., Kang, K.: Software Reuse Research: Status and Future. IEEE Transactions on Software Eng. 31(7) (2005)Google Scholar
  10. 10.
    Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001)MATHGoogle Scholar
  11. 11.
    Dong, X., Halevy, A., Madhavan, J., Nemes, E., Zhang, J.: Similarity Search for Web Services. In: Proceedings of the 30th VLDB Conference, Toronto (2004)Google Scholar
  12. 12.
    Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-based Product Line Engineering with UML. Addison-Wesley, Reading (2002)Google Scholar
  13. 13.
    Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  14. 14.
    Dogpile.com: Different Engines, Different Results, Technical Report (2005) (accessed August 9, 2005), http://comparesearchengines.dogpile.com/OverlapAnalysis.pdf
  15. 15.
    Amin, R., Ó Cinnéide, M., Veale, T.: LASER: A Lexical Approach to Analogy in Software Reuse. In: Proceedings of the International Workshop on Mining Software Repositories, Edinburgh (2004)Google Scholar
  16. 16.
    Belwood, T., Clément, L., Ehnebuske, D., Hately, A., Hondo, M., Husband, Y., Januszewski, K., Lee, S., McKee, B., Munter, J., von Riegen, C.: UDDI Version 3.0. Oasis Committee Specification (2002)Google Scholar
  17. 17.
    Mili, A., Mili, R., Mittermeir, R.: A Survey of Software Reuse Libraries. Annals of Software Engineering 5 (1998)Google Scholar
  18. 18.
    Hall, R.J.: Generalized behavior-based retrieval. In: Proceedings of the International Conference on Software Engineering, Baltimore (1993)Google Scholar
  19. 19.
    Mili, A., Yacoub, S., Addy, E., Mili, H.: Toward an engineering discipline of software reuse. IEEE Software 16(5) (1999)Google Scholar
  20. 20.
    Vitharana, P., Zahedi, F., Jain, F.: Knowledge-Based Repository Scheme for Storing and Retrieving Business Components. IEEE Transactions on Software Engineering 29(7) (2003)Google Scholar
  21. 21.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison Wesley, Reading (2000)Google Scholar
  22. 22.
    Zaremski, A.M., Wing, J.M.: Signature Matching: A Tool for Using Software Libraries. ACM Transact. on Software Engineering and Methodology 4(2) (1995)Google Scholar
  23. 23.
    Beck, K., Gamma, E.: JUnit: A Cook’s Tour. Java Report (August 1999)Google Scholar
  24. 24.
    Frakes, W.B., Fox, C.J.: Quality Improvement Using A Software Reuse Failure Modes Model. IEEE Transactions on Software Eng. 22(4) (1996)Google Scholar
  25. 25.
    Inoue, K., Yokomori, R., Fujiwara, H., Yamamoto, T., Matsushita, M., Kusumoto, S.: Ranking Significance of Software Components Based on Use Relations. IEEE Transactions on Software Eng. 31(3) (2005)Google Scholar
  26. 26.
    Brown, A.W., Booch, G.: Reusing Open-Source Software and Practices: The Impact of Open-Source Software on Commercial Vendors. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, p. 123. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  27. 27.
    Vouk, M.A.: Back-to-Back Testing. Information & Software Techn. 32(1) (1990)Google Scholar
  28. 28.
    Edmonds, B., Bryson, J.: The Insufficiency of Formal Design Methods - the necessity of an experimental approach for the understanding and control of complex MAS. In: Proc. of the 3rd Intern. Joint Conf. on Autonomous Agents & Multi Agent Systems, New York (2004)Google Scholar
  29. 29.
    Yao, H., Etzkorn, L.: Towards a Semantic-based Approach for Software Reusable Component Classification and Retrieval. In: Proceedings of the 42nd annual Southeast Regional Conference, Huntsville (2004)Google Scholar
  30. 30.
    Poulin, J.: Populating Software Repositories: Incentives and Domain-Specific Software. Journal of Systems and Software 30 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Oliver Hummel
    • 1
  • Colin Atkinson
    • 1
  1. 1.Chair of Software TechnologyUniversity of MannheimMannheimGermany

Personalised recommendations