Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/606
Title: Investigação sobre uso de vocabulário de código-fonte para identificação de especialistas.
Other Titles: Research on the use of source code vocabulary to identify specialists.
???metadata.dc.creator???: SANTOS, Katyusco de Farias.
???metadata.dc.contributor.advisor1???: GUERRERO, Dalton Dario Serey.
???metadata.dc.contributor.advisor2???: FIGUEIREDO, Jorge césar Abrantes de.
???metadata.dc.contributor.referee1???: KULESZA, Uira.
???metadata.dc.contributor.referee2???: MARINHO, Leandro Balby.
???metadata.dc.contributor.referee3???: MASSONI, Tiago Lima.
???metadata.dc.contributor.referee4???: BITTENCOURT, Renato almeida.
Keywords: Vocabulário de Software;Especialista de Código;Código-Fonte;Software Vocabulary;Source Code;Code Specialist;Vocabulário de Código-Fonte;Medidas de Expertise;Modelo Degree-Of-Knowledge DOK
Issue Date: 28-Feb-2015
Publisher: Universidade Federal de Campina Grande
Citation: SANTOS, Katyusco de Farias. Investigação sobre uso de vocabulário de código-fonte para identificação de especialistas. 2015. 156 f. (Tese de Doutorado em Ciência da Computação) Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2015. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/606
???metadata.dc.description.resumo???: Identificadores e comentários de um código fonte constituem o vocabulário de software. Pesquisas apontam vocabulários como uma fonte valorosa de informação sobre o projeto. Para entender a natureza e o potencial dos vocabulários, desenvolvemos um ferramental capaz de extraí-los a partir de código fonte. Explorando os dados estatisticamente, identificamos duas propriedades de vocabulários: tamanho, expresso como função de potência de LOC (Lines-Of-Code); e a repetição de seus termos, que se ajusta a uma distribuição log-normal. Vocabulários, bem como suas propriedades e operações foram formalizadas baseadas no conceito de multisets. O ferramental de extração e a formalização viabilizaram cooperações científicas sobre a utilidade de vocabulário sem atividades de manutenção. Esse conhecimento acumulado revelou que vocabulário pouco foi explorado como insumo à modelagem de conhecimento de código. Desenvolvemos então uma abordagem para identificar especialistas de código cujo conhecimento é definido pela similaridade existente entre vocabulários das entidades e dos desenvolvedores. Comparamos a precisão e cobertura da nossa abordagem com de duas outras: baseada em commits e baseada em percentual de LOC modificadas. Os resultados apontam que para indicar um único especialista, top-1, a nossa abordagem tem uma precisão menor, entre 29.9% e 10% que as abordagens de baseline. Já para indicar mais de um desenvolvedor especialista, até top-3, a nossa abordagem tem uma acurácia melhor de até 18.7% em relação as de baseline. Identificamos também que o conhecimento definido por similaridade quando combinado com um modelo baseado em autoria aumenta a capacidade de identificar especialistas, no R2 do modelo, em mais de 4 pontos percentuais. Concluímos que além de poder ser utilizado de forma isolada para modelar conhecimento de código e assim identificar especialistas, o vocabulário pode ser um componente adicional a modelos de conhecimento baseados em autoria e propriedade, já que capturam aspectos diferentes dos existentes nesse modelos.
Abstract: Identifiers and comments from a source code are the software vocabulary. Research point vocabularies as a valuable source of information about the project. To understand we developed a tool that extract them from source code. Exploring the data statistically, we identify two vocabularies properties: vocabulary size, that is a power function of LOC (Lines-Of-Code) and the repetition of vocabulary terms that fits alog-normal distribution. Vocabulary as well as their properties and operations were formalized based on the concept of multisets. Extraction tool and formalization made possible scientific cooperation on usage of vocabulary in maintenance activities. This accumulated knowledge has shown that vocabulary was not explored as an input to code knowledge. Then we developed a code experts identification approach whose knowledge is defined by existing similarity between entities and developers vocabularies. We compared precision and recall with two baseline approaches: based on commits and based on percentage of modified LOC.The results show that to indicate a single specialist, top-1, our approach has alower precision, between 29.9% and 10%,than baseline approaches. More than one specialist-developer, up to top-3, our approach has better accuracy of up to 18.7% over those of the baselines. We also identify that the knowledge defined by similarity when combined with an authorship model enhances the ability to identify experts, R2 of the model, by more than 4 points. We conclude that vocabulary can be solely used to expertise, and thus identify experts. In addition, vocabulary can be an additional component for models based on authorship and ownership, since it captures different aspects from ones existing in these models.
Keywords: Vocabulário de Software
Especialista de Código
Código-Fonte
Software Vocabulary
Source Code
Code Specialist
Vocabulário de Código-Fonte
Medidas de Expertise
Modelo Degree-Of-Knowledge DOK
???metadata.dc.subject.cnpq???: Ciência da Computação.
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/606
Appears in Collections:Doutorado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
KATYUSCO DE FARIAS SANTOS - DISSERTAÇÃO PPGCC 2015..pdfKatyusco de Farias Santos - Dissertação PPGCC 2015.2.02 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.