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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
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.
Basili, V. R., Briand, L. C., and Melo, W. L. (1996). How reuse influences productivity in object-oriented systems. Commun. ACM, 39, 104–116.
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.
Cox, B. J. (1990). Planning the software industrial revolution. IEEE Softw., 7, 25–33.
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.
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.
Frakes, W. B. and Fox, C. J. (1995). Sixteen questions about software reuse. Commun. ACM, 38, 75–ff.
Frakes, W. B. and Succi, G. (2001). An industrial study of reuse, quality, and productivity. Journal System Software, 57, 99–106.
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.
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.
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.
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.
Krueger, C. W. (1992). Software reuse. ACM Comput. Surv., 24, 131–183.
Lim, W. C. (1994). Effects of reuse on quality, productivity, and economics. IEEE Software, 11, 23–30.
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.
Lucredio, D., Fortes, R., and Whittle, J. (2012). Moogle: a metamodel-based model search engine. Software and Systems Modeling, 11(2), 183–208.
M. Ezran, M. Morisio, C. T. (2002). Practical Software Reuse. Springer.
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.
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.
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.
McIlroy, M. D. (1968). Mass-produced software components. Proc. NATO Conf. on Software Engineering, Garmisch, Germany.
Mili, A., Mili, R., and Mittermeir, R. T. (1998). A survey of software reuse libraries. Ann. Softw. Eng., 5, 349–414.
Moore, M. (2001). Software reuse: silver bullet? Software, IEEE, 18(5), 86.
Morisio, M., Ezran, M., and Tully, C. (2002). Success and failure factors in software reuse. IEEE Trans. Softw. Eng., 28, 340–357.
Poulin, J. S. (2006). The business case for software reuse: Reuse metrics, economic models, organizational issues, and case studies. In ICSR, page 439.
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.
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.
van Gurp, J. and Bosch, J. (2002). Design erosion: problems and causes. Journal of Systems and Software, 61(2), 105–119.
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.
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.
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)