аЯрЁБс>ўџ *,ўџџџ)џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџьЅСq`№ПРbjbjqPqP8 ::Р џџџџџџЄВВВВВВВЦюююю Цѓ ж" " " " " " 8 D r t t t t t t $Щ h1‚˜ ВL " " L L ˜ ВВ" " ­ " " " L ‚В" В" r " L r " " ВВ" "  ффN7бюЮ ." V У 0ѓ " Гќ Г" ГВ" 4L L " L L L L L ˜ ˜ L L L ѓ L L L L ЦЦЦ„JЄЦЦЦJЦЦЦВВВВВВџџџџ Resumo No campo do desenvolvimento de software, a quantidade de dados relacionados р documentaчуo e ao prѓprio cѓdigo fonte щ enorme. Conhecimentos relevantes podem ser extraэdos desses dados, desde que a ferramenta adequada seja utilizada. O Vertical Code Completion (VCC) щ uma dessas ferramentas. O VCC щ uma abordagem que tem por objetivo detectar padrѕes de codificaчуo frequentes e posteriormente sugerir esses padrѕes aos desenvolvedores. Neste trabalho, conduzimos um estudo sobre a abordagem VCC. Cinco tѓpicos de pesquisa foram idealizados e cada um deles щ avaliado em experimentos especэficos. Uma robusta infraestrutura experimental foi desenvolvida para automatizar esses experimentos e cada um deles foi aplicado no repositѓrio de cinco projetos open source. Esse estudo nos permitiu avaliar a efetividade do VCC e tambщm analisar a influъncia da parametrizaчуo do VCC sobre os resultados. No primeiro experimento, detectamos que as sugestѕes ranqueadas nas primeiras cinco posiчѕes sуo as que fornecem os melhores resultados ao usuсrio do VCC. No segundo experimento, observamos que utilizando um filtro de confianчa щ possэvel calibrar os resultados do VCC de acordo com as preferъncias do usuсrio. Alщm disso, detectamos que uma confianчa mэnima de 30% melhora a performance do VCC. O terceiro experimento mostrou a importтncia de se manter a сrvore de padrѕes do VCC atualizada atravщs da execuчуo periѓdica da etapa de mineraчуo de padrѕes. No quarto experimento, verificamos que a idade do projeto nуo influencia na performance do VCC. Finalmente, o quinto experimento mostrou que considerar estruturas de controle tambщm nуo influencia na performance do VCC. Palavras-chave: code completion, mineraчуo de dados, sistema de recomendaчуo, sistema de controle de versуo. Abstract In the software development field, the amount of data related to documentation and to the source code itself is huge. Relevant knowledge can be extracted from these data, provided that the adequate tools are in place. The Vertical Code Completion (VCC) is one of these tools. VCC is an approach that aims at collecting frequent source code patterns and afterward suggesting these patterns to developers. In this work, we conducted a study over the VCC approach. Five research questions were formulated and each of them was evaluated in specific experiments. A robust experimental infrastructure was developed in order to automatize these experiments and each one of them was applied over the repository of five open source projects. This study allowed us to assess the VCC effectiveness and also to analyze the VCC parameterization influence over the results. In the first experiment, we detected that the suggestions ranked in the first five positions are the ones that provide the best overall performance to the VCC user. In the second experiment, we observed that using a confidence filter it is possible to calibrate the VCC results according to the user preferences. Also, we detected that a 30% confidence threshold improves the VCC performance. The third experiment showed the importance of keeping the VCC pattern tree updated, through the periodically execution of the pattern mining stage. In the fourth experiment, we noticed that the project age does not influence the VCC results. Finally, the fifth experiment showed that considering control structures also do not influence the VCC results. Keywords: code completion, data mining, recommendation system, version control system.  ќ  —Ѕэ tuЩЪrsВГcd­Ў_`{|ђфжШжКжЉжЉ”‚”m[m[m[m[m[m[m[m[m[m[m["h>.CJOJQJ^JaJmH sH (hчeGh>.CJOJQJ^JaJmH sH "h>.CJ2OJQJ^JaJ2mH sH (hчeGh>.CJ2OJQJ^JaJ2mH sH  hчeGh>.CJOJQJ^JaJh>.CJOJQJ^JaJh>.CJOJQJ^JaJh>.CJOJQJ^JaJh#˜CJOJQJ^JaJh>.CJ2OJQJ^JaJ2# Р С  Ž –—     ююююююююююююююююююююююююююю$d№Є7$8$H$a$gdчeGРўГД|}hiРююююююююц$a$gdчeG$d№Є7$8$H$a$gdчeG |йк()†‡но01‹Œмн56ghiqПРыйыйыйыйыйыйыйыйыйыФыЙhчeGh>.mH sH (hчeGh>.CJOJQJ^JaJmH sH "h>.CJOJQJ^JaJmH sH (hчeGh>.CJOJQJ^JaJmH sH 61hP:pГsА‚. АЦA!АЅ"АЅ#‰$‰%ААФАФ Ф†œ 666666666666666666666666666666666666666666 6666666666 666666666666 666666666666666666666666666666666666666666666666666666666666666666N@ёџN ГsNormal dЄШCJ^J_HaJmHsHtH >AђџЁ> 0Fonte parсg. padrуoTiѓџГT 0 Tabela normalі4ж l4жaі ,kєџС, 0 Sem lista Р  џџџџ РСŽ–—     ГД| } h i Т ˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€Iˆ0Iˆ0Iˆ0Iˆ0Iˆ0Iˆ0Iˆ0Iˆ0Iˆ0 РТ Iˆ0Iˆ0Iˆ0Kˆ0Iˆ0œ0|Р Р Р џџ_GoBackТ Т ў yƒm{УЭЇЋЌЖ — Т ‚Т Т  Т х>.чeGc%QГs‚I…#˜—2ЎРТ џ@€ <б Р `@џџUnknownџџџџџџџџџџџџGџ:рAxР џTimes New Roman5€Symbol3& џ:рCxР џArial9SFRB24889SFRM12009SFTI12009SFBX12007&џрџЌ@ŸCalibri"Aˆ№ФЉS<‡b{