Investigando Técnicas de Recomendação de Assets Híbridos de Software: Um Mapeamento Sistemático
Resumo
O reuso de software é uma alternativa efetiva para criar software com qualidade, por permitir criar novos produtos a partir de software já existente. Graças à vasta disponibilidade de recursos disponíveis para desenvolvedores e empresas, o reuso de software se torna mais promissor, e ao mesmo tempo, mais desafiador. De modo a tornar o reuso oportunista uma abordagem mais efetiva, técnicas da área de aprendizado de máquina vem sendo acrescentadas aos processos de reúso. Este estudo sumariza um mapeamento sistemático sobre como a área de aprendizado de máquina tem dado suporte ao reúso de assets híbridos de software. Nossos resultados apontam que não há uma única abordagem que se destaque das demais, abrindo espaço para estudos comparativos.
Referências
Bajracharya, S., Ossher, J., and Lopes, C. (2009). Sourcerer: Aninternet-scale software repository. InProceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, SUITE ’09,pages 1–4, Washington, DC, USA. IEEE Computer Society.[Basciani et al. 2016] Basciani, F., Di Rocco, J., Di Ruscio, D., Iovino, L., and Pierantonio,A. (2016). Automated clustering of metamodel repositories. InInternational Confe-rence on Advanced Information Systems Engineering, pages 342–358. Springer.
Bawa, R. K. and Kaur, I. (2017). Classification and clustering forefficient storage and retrieval of component repositories. In2017 International Confe-rence on Computer Communication and Informatics (ICCCI), pages 1–6. IEEE.
Caldiera, V. R. B. G. and Rombach, H. D. (1994). The goalquestion metric approach.Encyclopedia of software engineering, pages 528–532.
Chen, L., Ali Babar, M., and Zhang, H. (2010). Towards an evidence-based understanding of electronic data sources.
Diamantopoulos, T., Karagiannopoulos, G., and Symeonidis,A. (2018). Codecatch: extracting source code snippets from online sources. In2018IEEE/ACM 6th International Workshop on Realizing Artificial Intelligence Synergiesin Software Engineering (RAISE), pages 21–27. IEEE.
Dumitru, H., Gibiec, M., Hariri, N., Cleland-Huang, J., Mobasher, B.,Castro-Herrera, C., and Mirakhorli, M. (2011). On-demand feature recommendationsderived from mining public product descriptions. InProceedings of the 33rd Internati-onal Conference on Software Engineering, ICSE ’11, pages 181–190, New York, NY,USA. ACM.
Elkamel, A., Gzara, M., and Ben-Abdallah, H. (2016). An uml classrecommender system for software design. In2016 IEEE/ACS 13th International Con-ference of Computer Systems and Applications (AICCSA), pages 1–8. IEEE.
Fayyad, U., Piatetsky-Shapiro, G., and Smyth, P. (1996). From datamining to knowledge discovery in databases.AI magazine, 17(3):37–37.
Gorp, P. V. and Mazanek, S. (2011). Share: a web portal forcreating and sharing executable research papers.Procedia Computer Science, 4:589 –597. International Conference on Computational Science, ICCS 2011.
Heinemann, L. (2012). Facilitating reuse in model-based developmentwith context-dependent model element recommendations. InProceedings of the ThirdInternational Workshop on Recommendation Systems for Software Engineering, pages16–20. IEEE Press.
Jacobson, I., Ng, P.-W., McMahon, P. E., Spence, I., and Lidman, S.(2012). The essence of software engineering: The semat kernel. a thinking frameworkin the form of an actionable kernel.ACMQUEUE. Development 9. Networks, 10(10):1–12.
K ̈ogel, S. (2017). Recommender system for model driven software develop-ment. InProceedings of the 2017 11th Joint Meeting on Foundations of SoftwareEngineering, ESEC/FSE 2017, pages 1026–1029, New York, NY, USA. ACM.
Kumar, S., Bhatia, R. K., and Kumar, R. (2011). K-means clustering ofuse-cases using mdl. InInternational Conference on Computing and CommunicationSystems, pages 57–67. Springer.
Le, D.-T., Lˆe, L.-S., Thoai, N., and Nguyen, T.-V. (2018). An old problemwith a new therapy: Coupling topic modeling and mining sequential patterns in recom-mending source code. In2018 International Conference on Advanced Computing andApplications (ACOMP), pages 117–124. IEEE.
Li, G., Pan, Y., Zhang, L., Xie, B., and Shao, W. (2004). Attribute ranking:An entropy-based approach to accelerating browsing-based component retrieval. InInternational Conference on Software Reuse, pages 232–241. Springer.
Martins, A. C., Garcia, V. C., de Almeida, E. S., and d. L. Meira, S. R.(2009). Suggesting software components for reuse in search engines using discoveredknowledge techniques. In2009 35th Euromicro Conference on Software Engineeringand Advanced Applications, pages 412–419.
McCarey, F., Cinn ́eide, M. ́O., and Kushmerick, N. (2005). Rascal:A recommender agent for agile reuse.Artificial Intelligence Review, 24(3):253–276.
Nakkrasae, S. and Sophatsathit, P. (2004). An rpcl-based indexing approach for software component classification.International Journalof Software Engineering and Knowledge Engineering, 14(05):497–518.
Petersen, K., Vakkalanka, S., and Kuzniarz, L. (2015). Guidelines forconducting systematic mapping studies in software engineering: An update.Informa-tion and Software Technology, 64:1 – 18.
Pregunta, L. (2007). A estrat ́egia pico para a construc ̧ ̃ao da pergunta depesquisa e busca de evidˆencias.Rev Latino-am Enfermagem, 15(3).[Sametinger 1997] Sametinger, J. (1997).Software engineering with reusable components.Springer Science & Business Media.
Sayyad, A. S., Ammar, H., and Menzies, T. (2012). Software featuremodel recommendations using data mining. InProceedings of the Third InternationalWorkshop on Recommendation Systems for Software Engineering, RSSE ’12, pages47–51, Piscataway, NJ, USA. IEEE Press.
Vescan, A. (2015). An evolutionary multiobjective approach for the dyna-mic multilevel component selection problem. InInternational Conference on Service-Oriented Computing, pages 193–204. Springer.
Vodithala, S. and Pabboju, S. (2015). A clustering techniquebased on the specifications of software components. In2015 International Conferenceon Advanced Computing and Communication Systems, pages 1–6. IEEE.
Wang, C. and Ren, Y. (2011). A component clustering index tree ba-sed on semantic. InInternational Conference on Web Information Systems and Mining,pages 356–362. Springer.
Wang, Z., Liu, D., and Feng, X. (2004). Improved som clustering forsoftware component catalogue. In Yin, F.-L., Wang, J., and Guo, C., editors,Advancesin Neural Networks – ISNN 2004, pages 846–851, Berlin, Heidelberg. Springer BerlinHeidelberg.
Wu, Y., Siy, H., Zand, M., and Winter, V. (2007). Construction of ontology-based software repositories by text mining. In Shi, Y., van Albada, G. D., Dongarra,J., and Sloot, P. M. A., editors,Computational Science – ICCS 2007, pages 790–797,Berlin, Heidelberg. Springer Berlin Heidelberg.
Ye, H. and Lo, B. W. (2000). A visualised software library: nested self-organising maps for retrieving and browsing reusable software assets.Neural Compu-ting & Applications, 9(4):266–279.