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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
McIlroy, D.: Mass-Produced Software Components. Software Engineering: Report of a Conference sponsored by the NATO Science Committee, Garmisch (1969)
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)
Frakes, W.B., Fox, C.J.: Sixteen Questions about Software Reuse. Communications of the ACM 38(6) (1995)
Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (1999)
Ye, Y., Fischer, G.: Reuse-Conducive Environments. Journal of Automated Software Engineering 12(2) (2005)
Seacord, R.: Software Engineering Component Repositories. In: Proceedings of the International Conference of Software Engineering, Los Angeles (1999)
Podgurski, A., Pierce, L.: Retrieving Reusable Software by Sampling Behavior. ACM Transactions on Software Engineering and Methodology 2(3) (1993)
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)
Frakes, W.B., Kang, K.: Software Reuse Research: Status and Future. IEEE Transactions on Software Eng. 31(7) (2005)
Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001)
Dong, X., Halevy, A., Madhavan, J., Nemes, E., Zhang, J.: Similarity Search for Web Services. In: Proceedings of the 30th VLDB Conference, Toronto (2004)
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)
Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)
Dogpile.com: Different Engines, Different Results, Technical Report (2005) (accessed August 9, 2005), http://comparesearchengines.dogpile.com/OverlapAnalysis.pdf
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)
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)
Mili, A., Mili, R., Mittermeir, R.: A Survey of Software Reuse Libraries. Annals of Software Engineering 5 (1998)
Hall, R.J.: Generalized behavior-based retrieval. In: Proceedings of the International Conference on Software Engineering, Baltimore (1993)
Mili, A., Yacoub, S., Addy, E., Mili, H.: Toward an engineering discipline of software reuse. IEEE Software 16(5) (1999)
Vitharana, P., Zahedi, F., Jain, F.: Knowledge-Based Repository Scheme for Storing and Retrieving Business Components. IEEE Transactions on Software Engineering 29(7) (2003)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison Wesley, Reading (2000)
Zaremski, A.M., Wing, J.M.: Signature Matching: A Tool for Using Software Libraries. ACM Transact. on Software Engineering and Methodology 4(2) (1995)
Beck, K., Gamma, E.: JUnit: A Cook’s Tour. Java Report (August 1999)
Frakes, W.B., Fox, C.J.: Quality Improvement Using A Software Reuse Failure Modes Model. IEEE Transactions on Software Eng. 22(4) (1996)
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)
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)
Vouk, M.A.: Back-to-Back Testing. Information & Software Techn. 32(1) (1990)
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)
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)
Poulin, J.: Populating Software Repositories: Incentives and Domain-Specific Software. Journal of Systems and Software 30 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hummel, O., Atkinson, C. (2006). Using the Web as a Reuse Repository. In: Morisio, M. (eds) Reuse of Off-the-Shelf Components. ICSR 2006. Lecture Notes in Computer Science, vol 4039. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11763864_22
Download citation
DOI: https://doi.org/10.1007/11763864_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34606-7
Online ISBN: 978-3-540-34607-4
eBook Packages: Computer ScienceComputer Science (R0)