Skip to main content

Experiences and Lessons Learned with the Development of a Source Code Search Engine

  • Chapter
  • 1146 Accesses

Abstract

Search and retrieval tools are an important mechanism to achieve software reuse. In this chapter, I present the experience at the RiSE Labs developing a search engine based on different techniques such as keywords, facets, Folksonomy and so on. Moreover, the lessons learned and some insights are also discussed.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://labs.rise.com.br.

References

  1. Agrawal, R. and Srikant, R. (1994). Fast algorithms for mining association rules in large databases. In Proceedings of the 20th International Conference on Very Large Data Bases, VLDB ’94, pages 487–499, San Francisco, CA, USA.

    Google Scholar 

  2. Basili, V. R., Briand, L. C., and Melo, W. L. (1996). How reuse influences productivity in object-oriented systems. Commun. ACM, 39, 104–116.

    Article  Google Scholar 

  3. Brin, S., Motwani, R., Ullman, J. D., and Tsur, S. (1997). Dynamic itemset counting and implication rules for market basket data. In Proceedings of the 1997 ACM SIGMOD international conference on Management of data, SIGMOD ’97, pages 255–264, New York, NY, USA.

    Chapter  Google Scholar 

  4. Cox, B. J. (1990). Planning the software industrial revolution. IEEE Softw., 7, 25–33.

    Article  Google Scholar 

  5. Durão, F. A., Vanderlei, T. A., Almeida, E. S., and de L. Meira, S. R. (2008). Applying a semantic layer in a source code search tool. In Proceedings of the 2008 ACM symposium on Applied computing, SAC ’08, pages 1151–1157.

    Google Scholar 

  6. Eduardo, Frederico, Martins, A. C., Mendes, R., Melo, C., Garcia, V. C., Almeida, E. S., and Silvio (2006). Towards an effective context-aware proactive asset search and retrieval tool. In 6th Workshop on Component-Based Development (WDBC’06), pages 105–112, Recife, Pernambuco, Brazil.

    Google Scholar 

  7. Frakes, W. B. and Fox, C. J. (1995). Sixteen questions about software reuse. Commun. ACM, 38, 75–ff.

    Google Scholar 

  8. Frakes, W. B. and Succi, G. (2001). An industrial study of reuse, quality, and productivity. Journal System Software, 57, 99–106.

    Article  Google Scholar 

  9. Garcia, V. C.; Lucredio, D. D. F. A. S. E. C. R. A. E. S. F. R. P. M. M. S. R. L. (2006). From specification to the experimentation: A software component search engine architecture. In In The 9th International Symposium on Component-Based Software Engineering (CBSE), Sweden.

    Google Scholar 

  10. Garcia, V., de Almeida, E., Lisboa, L., Martins, A., Meira, S., Lucredio, D., and de M. Fortes, R. (2006). Toward a code search engine based on the state-of-art and practice. In Software Engineering Conference, 2006. APSEC 2006. 13th Asia Pacific, pages 61–70.

    Google Scholar 

  11. Han, J., Pei, J., and Yin, Y. (2000). Mining frequent patterns without candidate generation. In Proceedings of the 2000 ACM SIGMOD international conference on Management of data, SIGMOD ’00, pages 1–12, New York, NY, USA.

    Chapter  Google Scholar 

  12. Hummel, O. (2010). Facilitating the comparison of software retrieval systems through a reference reuse collection. In Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation, SUITE ’10, pages 17–20.

    Google Scholar 

  13. Krueger, C. W. (1992). Software reuse. ACM Comput. Surv., 24, 131–183.

    Article  Google Scholar 

  14. Lim, W. C. (1994). Effects of reuse on quality, productivity, and economics. IEEE Software, 11, 23–30.

    Article  Google Scholar 

  15. Lucredio, D., Prado, A. F. d., and Almeida, E. S. d. (2004). A survey on software components search and retrieval. In Proceedings of the 30th EUROMICRO Conference, pages 152–159, Washington, DC, USA. IEEE Computer Society.

    Google Scholar 

  16. Lucredio, D., Fortes, R., and Whittle, J. (2012). Moogle: a metamodel-based model search engine. Software and Systems Modeling, 11(2), 183–208.

    Article  Google Scholar 

  17. M. Ezran, M. Morisio, C. T. (2002). Practical Software Reuse. Springer.

    Google Scholar 

  18. Martins, A., Garcia, V., de Almeida, E., and Meira, S. (2009). Suggesting software components for reuse in search engines using discovered knowledge techniques. In Software Engineering and Advanced Applications, 2009. SEAA ’09. 35th Euromicro Conference on, pages 412–419.

    Google Scholar 

  19. Mascena, J., de Almeida, E., and de Lemos Meira, S. (2005). A comparative study on software reuse metrics and economic models from a traceability perspective. In Information Reuse and Integration, Conf, 2005. IRI -2005 IEEE International Conference on., pages 72–77.

    Google Scholar 

  20. Mascena, J. C. C. P., Meira, S. R. d. L., de Almeida, E. S., and Garcia, V. C. (2006). Towards an effective integrated reuse environment. In Proceedings of the 5th international conference on Generative programming and component engineering, GPCE ’06, pages 95–100.

    Google Scholar 

  21. McIlroy, M. D. (1968). Mass-produced software components. Proc. NATO Conf. on Software Engineering, Garmisch, Germany.

    Google Scholar 

  22. Mili, A., Mili, R., and Mittermeir, R. T. (1998). A survey of software reuse libraries. Ann. Softw. Eng., 5, 349–414.

    Article  Google Scholar 

  23. Moore, M. (2001). Software reuse: silver bullet? Software, IEEE, 18(5), 86.

    Google Scholar 

  24. Morisio, M., Ezran, M., and Tully, C. (2002). Success and failure factors in software reuse. IEEE Trans. Softw. Eng., 28, 340–357.

    Article  Google Scholar 

  25. Poulin, J. S. (2006). The business case for software reuse: Reuse metrics, economic models, organizational issues, and case studies. In ICSR, page 439.

    Google Scholar 

  26. Rine, D. C. (1997). Success factors for software reuse that are applicable across domains and businesses. In Proceedings of the 1997 ACM symposium on Applied computing, SAC ’97, pages 182–186, New York, NY, USA. ACM.

    Google Scholar 

  27. Santos, E., de Almeida, F., de Almeida, E., and de Lemos Meira, S. (2010). A context-aware proactive source code search and retrieval tool. In Information Reuse and Integration (IRI), 2010 IEEE International Conference on, pages 380–381.

    Google Scholar 

  28. van Gurp, J. and Bosch, J. (2002). Design erosion: problems and causes. Journal of Systems and Software, 61(2), 105–119.

    Article  Google Scholar 

  29. Vanderlei, T. A., Durão, F. A., Martins, A. C., Garcia, V. C., Almeida, E. S., and de L. Meira, S. R. (2007). A cooperative classification mechanism for search and retrieval software components. In Proceedings of the 2007 ACM symposium on Applied computing, pages 866–871, New York, NY, USA.

    Google Scholar 

  30. Ye, Y. and Fischer, G. (2002). Supporting reuse by delivering task-relevant and personalized information. In Proceedings of the 24th International Conference on Software Engineering, ICSE ’02, pages 513–523, New York, NY, USA. ACM.

    Google Scholar 

Download references

Acknowledgements

I would like to thank all the members from the RiSE Tools project. The experiences and moments together during the development of the B.A.R.T tool were incredible. Moreover, I would like to express my gratitude to the Recife Center for Advanced Studies and Systems (C.E.S.A.R) where the development and contact with hundred of software engineers was crucial.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eduardo Santana de Almeida .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

de Almeida, E.S. (2013). Experiences and Lessons Learned with the Development of a Source Code Search Engine. In: Sim, S.E., Gallardo-Valencia, R.E. (eds) Finding Source Code on the Web for Remix and Reuse. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-6596-6_7

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-6596-6_7

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-6595-9

  • Online ISBN: 978-1-4614-6596-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics