Spelling suggestions: "subject:"impacto dde mudanças"" "subject:"impacto dee mudanças""
1 |
O impacto do crescimento de equipes de software nos fatores individuais e nos processos de grupo: um estudo de casoDias, Fernanda Nóbrega Martins 05 September 2013 (has links)
Submitted by João Arthur Martins (joao.arthur@ufpe.br) on 2015-03-10T18:23:12Z
No. of bitstreams: 2
Dissertacao Fernanda Dias.pdf: 2340146 bytes, checksum: d55463c3bdd860fd38bfed5a5b17fa4a (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-11T17:40:51Z (GMT). No. of bitstreams: 2
Dissertacao Fernanda Dias.pdf: 2340146 bytes, checksum: d55463c3bdd860fd38bfed5a5b17fa4a (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
Previous issue date: 2013-09-05 / O interesse em compreender o impacto dos fatores humanos no desenvolvimento de software vem despertando interesse crescente para a realização de pesquisas. Neste cenário, a mudança ocasionada pela expansão de uma equipe pode causar alguns impactos, entre eles, estruturais (papéis, composição da equipe etc.) e psicossociais (motivação, comunicação, coesão etc.). Entretanto, para a engenharia de software, não foi encontrado nenhum estudo que analise as implicações deste tipo de mudança.
Objetivo: Esta pesquisa tem como objetivo analisar a expansão do tamanho de uma equipe de software com o propósito de identificar quais fatores impactam os membros em nível individual e em nível de equipe, do ponto de vista de gerentes de projeto, membros de recursos humanos, líderes de equipe, líderes técnicos e engenheiros de software, no contexto de um projeto industrial de desenvolvimento de software para dispositivos móveis, localizado no Centro de Informática da Universidade Federal de Pernambuco.
Método: Foi realizado um estudo de caso, com características etnográficas, possuindo como técnicas de coleta de dados entrevistas e observações, e tendo como unidade de análise 32 colaboradores de uma equipe de desenvolvimento de software para aplicações móveis.
Resultados: A pesquisa exploratória foi realizada com um estudo de caso descritivo e longitudinal, que analisou os dados através da Teoria Fundamentada (GroundedTheory). Estes dados proporcionaram a elaboração de um modelo de impacto que foi evidenciado a partir da existência de fatores que causaram impactos estruturais e psicossociais durante a expansão da equipe.
Conclusão: Realizar a expansão de uma equipe sem que houvesse uma preparação com estratégias adequadas proporcionou, na equipe estudada, impactos em fatores como comunicação, composição da equipe, integração, motivação, coesão, entre outros. Nesse sentido, a realização desta pesquisa e os resultados encontrados contribuíram para o aumento do conhecimento sobre fatores que precisam de maior atenção quando estamos realizando uma expansão na equipe de software.
|
2 |
Uma abordagem para análise de cobertura de código em cenários de evoluçãoGomes, Fladson Thiago Oliveira 03 March 2016 (has links)
Submitted by Automação e Estatística (sst@bczm.ufrn.br) on 2018-07-30T13:26:30Z
No. of bitstreams: 1
FladsonThiagoOliveiraGomes_DISSERT.pdf: 2012982 bytes, checksum: 32b3a5c5873614b73f362994472d31a9 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2018-07-30T22:06:38Z (GMT) No. of bitstreams: 1
FladsonThiagoOliveiraGomes_DISSERT.pdf: 2012982 bytes, checksum: 32b3a5c5873614b73f362994472d31a9 (MD5) / Made available in DSpace on 2018-07-30T22:06:38Z (GMT). No. of bitstreams: 1
FladsonThiagoOliveiraGomes_DISSERT.pdf: 2012982 bytes, checksum: 32b3a5c5873614b73f362994472d31a9 (MD5)
Previous issue date: 2016-03-03 / Atualmente, a etapa de testes no processo de desenvolvimento de software tornou-se imprescindível
para garantir a confiabilidade e qualidade do código em produção. As constantes
evoluções na arquitetura e código de um sistema, criam sérios desafios para os
desenvolvedores e testadores, uma vez que modificações podem não se comportar como o
esperado. Neste contexto surge a necessidade de ferramentas e mecanismos que diminuam
o impacto negativo gerado pelas constantes evoluções do sistema. Dentre as ferramentas
que analisam esse impacto, poucas apresentam os fluxos de execução entre métodos que
foram afetados e nenhuma apresenta como resultado se esses fluxos afetados pela evolução
estão ou não cobertos pelos testes. Assim, este trabalho apresenta uma abordagem que
tem como objetivo principal: (i) analisar a cobertura de código levando em consideração
os fluxos de chamadas existentes no sistema que foram afetados por evoluções de código,
assim como os fluxos de execução oriundos da execução dos testes; (ii) indicar quais fluxos
de chamadas do sistema que possuem métodos modificados e não estão sendo cobertos
pelos testes atualmente e que, portanto, poderiam ser considerados para melhorar a qualidade
dos testes; e (iii) indicar se houve degradação na qualidade da suíte de testes. Um
estudo empírico foi realizado em 6 sistemas e os resultados mostram que a abordagem
conseguiu identificar entre 19% e 92% de fluxos de execução afetados por mudanças que
não estão cobertos e ainda que 3 dos 6 sistemas tiveram uma degradação na qualidade
dos testes.
|
3 |
Uma abordagem para análise de impacto de mudanças em transformações de modelos.VIEIRA, Andreza de Sousa. 13 September 2017 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2017-09-13T22:00:52Z
No. of bitstreams: 1
Tese Uma abordagem para análise de impacto de mudança ... Andreza de Sousa Vieira.pdf: 1136053 bytes, checksum: bea3c2c4cd1e05c961abf7ec7c127557 (MD5) / Made available in DSpace on 2017-09-13T22:00:53Z (GMT). No. of bitstreams: 1
Tese Uma abordagem para análise de impacto de mudança ... Andreza de Sousa Vieira.pdf: 1136053 bytes, checksum: bea3c2c4cd1e05c961abf7ec7c127557 (MD5)
Previous issue date: 2014-12-17 / Capes / MDD (Model-Driven Development) tem como principal objetivo deslocar o foco da implementação do código fonte para o desenvolvimento de modelos dentro do processo de desenvolvimento de software. Elementos que desempenham um papel muito importante dentro de MDD são as transformações de modelos, isto é, regras que descrevem como modelos de Origem devem ser usados para gerar automaticamente um ou mais modelos de destino. Como qualquer projeto de software, os projetos baseados em MDD evoluem ao longo do ciclo de vida, tendo em vista que mudanças em suas transformações são frequentes. Antes de aplicar qualquer mudança em uma transformação é importante analisar como ela pode afetar o projeto como um todo. No entanto, atualmente não há nenhuma técnica para auxiliar os gerentes de projeto ou desenvolvedores nesse sentido. O objetivo deste trabalho é propor uma abordagem para análise do impacto de mudanças em transformações de modelos. Baseada na análise estática,a abordagem proposta visa: (i)identificar o conjunto de elementos impactados por uma mudança na transformação; e (ii) mensurar o impacto da mudança através de um conjunto de métricas. Dentre outros benefícios, a abordagem proposta pode auxiliar: (i) os gerentes de projeto a melhor escalonar e priorizar mudanças, uma vez que eles podem estimar os custos da aplicação de cada uma delas; e (ii) os desenvolvedores a identificar, automaticamente, todos os elementos impactados com uma mudança, assim, economizando esforço e tempo de desenvolvimento. Um estudo de caso foi conduzido para identificar novas métricas e para avaliar a abordagem proposta em relação à análise manual do impacto de mudanças em diversas transformações reais. Com o estudo, foi possível perceber que os resultados obtidos pela abordagem proposta e pela análise manual foram bastante próximos. Porém, considerando o esforço e o tempo de análise, os resultados da abordagem proposta foram melhores. / The main goal of the MDD (Model-Driven Development) approach is to change the focus from source code to models within the software development process. Elements that play important role in MDD are model transformations, i.e. rules that describe how source models should be used to automatically generate one or more target models. As any software project, MDD-based projects evolve along their lifecycle in such way that changes in their transformations are frequent. Before applying any change to a transformation, it is important to analyze how it would impact the whole project. However, there is currently no technique to help project managers or developers in this direction. The objective of this work is to propose an approach to analyze the impact of changes resulting from model transformations. Based on static analysis, the proposed approach aims at: (i)identifying the set of elements impacted with a change applied to a transformation; and (ii)measuring the impact of a change through a set of metrics. Among other benefits ,the proposed approach can help: (i)project managers to better prioritize and schedule changes, since they can estimate the costs to apply each of them; and (ii)developers to automatically identify all elements impacted with a change, thus saving effort and development time. A case study was conducted to identify new metrics and to evaluate the proposed approach regarding to the manual change impact analysis considering real transformations. This study revealed that the results obtained by using the proposed aproach and using the manual analysis were very similar. However, regarding effort and time, we observed that the results obtained from the proposed approach were superior than the manual analysis.
|
4 |
Predição de mudanças conjuntas de artefatos de software com base em informações contextuais / Predicting co-changes of software artifacts based on contextual informationWiese, Igor Scaliante 18 March 2016 (has links)
O uso de abordagens de predição de mudanças conjuntas auxilia os desenvolvedores a encontrar artefatos que mudam conjuntamente em uma tarefa. No passado, pesquisadores utilizaram análise estrutural para construir modelos de predição. Mais recentemente, têm sido propostas abordagens que utilizam informações históricas e análise textual do código fonte. Apesar dos avanços obtidos, os desenvolvedores de software ainda não usam essas abordagens amplamente, presumidamente por conta do número de falsos positivos. A hipótese desta tese é que informações contextuais obtidas das tarefas, da comunicação dos desenvolvedores e das mudanças dos artefatos descrevem as circunstâncias e condições em que as mudanças conjuntas ocorrem e podem ser utilizadas para realizar a predição de mudanças conjuntas. O objetivo desta tese consiste em avaliar se o uso de informações contextuais melhora a predição de mudanças conjuntas entre dois arquivos em relação às regras de associação, que é uma estratégia frequentemente usada na literatura. Foram construídos modelos de predição específicos para cada par de arquivos, utilizando as informações contextuais em conjunto com o algoritmo de aprendizagem de máquina random forest. Os modelos de predição foram avaliados em 129 versões de 10 projetos de código aberto da Apache Software Foundation. Os resultados obtidos foram comparados com um modelo baseado em regras de associação. Além de avaliar o desempenho dos modelos de predição também foram investigadas a influência do modo de agrupamento dos dados para construção dos conjuntos de treinamento e teste e a relevância das informações contextuais. Os resultados indicam que os modelos baseados em informações contextuais predizem 88% das mudanças corretamente, contra 19% do modelo de regras de associação, indicando uma precisão 3 vezes maior. Os modelos criados com informações contextuais coletadas em cada versão do software apresentaram maior precisão que modelos construídos a partir de um conjunto arbitrário de tarefas. As informações contextuais mais relevantes foram: o número de linhas adicionadas ou modificadas, número de linhas removidas, code churn, que representa a soma das linhas adicionadas, modificadas e removidas durante um commit, número de palavras na descrição da tarefa, número de comentários e papel dos desenvolvedores na discussão, medido pelo valor do índice de intermediação (betweenness) da rede social de comunicação. Os desenvolvedores dos projetos foram consultados para avaliar a importância dos modelos de predição baseados em informações contextuais. Segundo esses desenvolvedores, os resultados obtidos ajudam desenvolvedores novatos no projeto, pois não têm conhecimento da arquitetura e normalmente não estão familiarizados com as mudanças dos artefatos durante a evolução do projeto. Modelos de predição baseados em informações contextuais a partir de mudanças de software são relativamente precisos e, consequentemente, podem ser usados para apoiar os desenvolvedores durante a realização de atividades de manutenção e evolução de software / Co-change prediction aims to make developers aware of which artifacts may change together with the artifact they are working on. In the past, researchers relied on structural analysis to build prediction models. More recently, hybrid approaches relying on historical information and textual analysis have been proposed. Despite the advances in the area, software developers still do not use these approaches widely, presumably because of the number of false recommendations. The hypothesis of this thesis is that contextual information of software changes collected from issues, developers\' communication, and commit metadata describe the circumstances and conditions under which a co-change occurs and this is useful to predict co-changes. The aim of this thesis is to use contextual information to build co-change prediction models improving the overall accuracy, especially decreasing the amount of false recommendations. We built predictive models specific for each pair of files using contextual information and the Random Forest machine learning algorithm. The approach was evaluated in 129 versions of 10 open source projects from the Apache Software Foundation. We compared our approach to a baseline model based on association rules, which is often used in the literature. We evaluated the performance of the prediction models, investigating the influence of data aggregation to build training and test sets, as well as the identification of the most relevant contextual information. The results indicate that models based on contextual information can correctly predict 88% of co-change instances, against 19% achieved by the association rules model. This indicates that models based on contextual information can be 3 times more accurate. Models created with contextual information collected in each software version were more accurate than models built from an arbitrary amount of contextual information collected from more than one version. The most important pieces of contextual information to build the prediction models were: number of lines of code added or modified, number of lines of code removed, code churn, number of words in the discussion and description of a task, number of comments, and role of developers in the discussion (measured by the closeness value obtained from the communication social network). We asked project developers about the relevance of the results obtained by the prediction models based on contextual information. According to them, the results can help new developers to the project, since these developers have no knowledge about the architecture and are usually not familiar with the artifacts history. Thus, our results indicate that prediction models based on the contextual information are useful to support developers during the maintenance and evolution activities
|
5 |
Modelagem de mudanças climáticas: do nicho fundamental à conservação da biodiversidade / Climate change modeling: from the fundamental niche to biodiversity conservationFaleiro, Frederico Augusto Martins Valtuille 07 March 2016 (has links)
Submitted by Cássia Santos (cassia.bcufg@gmail.com) on 2016-05-31T09:35:51Z
No. of bitstreams: 2
Tese - Frederico Augusto Martins Valtuille Faleiro - 2016.pdf: 7096330 bytes, checksum: 04cfce04ef128c5bd6e99ce18bb7f650 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-05-31T10:52:51Z (GMT) No. of bitstreams: 2
Tese - Frederico Augusto Martins Valtuille Faleiro - 2016.pdf: 7096330 bytes, checksum: 04cfce04ef128c5bd6e99ce18bb7f650 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Made available in DSpace on 2016-05-31T10:52:51Z (GMT). No. of bitstreams: 2
Tese - Frederico Augusto Martins Valtuille Faleiro - 2016.pdf: 7096330 bytes, checksum: 04cfce04ef128c5bd6e99ce18bb7f650 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5)
Previous issue date: 2016-03-07 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / The climate changes are one of the major threats to the biodiversity and it is expected to increase its impact along the 21st century. The climate change affect all levels of the biodiversity from individuals to biomes, reducing the ecosystem services. Despite of this, the prediction of climate change impacts on biodiversity is still a challenge. Overcoming these issues depends on improvements in different aspects of science that support predictions of climate change impact on biodiversity. The common practice to predict the climate change impact consists in formulate ecological niche models based in the current climate and project the changes based in the future climate predicted by the climate models. However, there are some recognized limitations both in the formulation of the ecological niche model and in the use of predictions from the climate models that need to be analyzed. Here, in the first chapter we review the science behind the climate models in order to reduce the knowledge gap between the scientific community that formulate the climate models and the community that use the predictions of these models. We showed that there is not consensus about evaluate the climate models, obtain regional models with higher spatial resolution and define consensual models. However, we gave some guidelines for use the predictions of the climate models. In the second chapter, we tested if the predictions of correlative ecological niche models fitted with presence-absence match the predictions of models fitted with abundance data on the metrics of climate change impact on orchid bees in the Atlantic Forest. We found that the presence-absence models were a partial proxy of change in abundance when the output of the models was continuous, but the same was not true when the predictions were converted to binary. The orchid bees in general will decrease the abundance in the future, but will retain a good amount of suitable sites in the future and the distance to gained climatic suitable areas can be very close, despite of great variation. The change in the species richness and turnover will be mainly in the western and some regions of southern of the Atlantic Forest. In the third chapter, we discussed the drawbacks in using the estimations of realized niche instead the fundamental niche, such as overpredicting the effect of climate change on species’ extinction risk. We proposed a framework based on phylogenetic comparative and missing data methods to predict the dimensions of the fundamental niche of species with missing data. Moreover, we explore sources of uncertainty in predictions of fundamental niche and highlight future directions to overcome current limitations of phylogenetic comparative and missing data methods to improve predictions. We conclude that it is possible to make better use of the current knowledge about species’ fundamental niche with phylogenetic information and auxiliary traits to predict the fundamental niche of poorly-studied species. In the fourth chapter, we used the framework of the chapter three to test the performance of two recent phylogenetic modeling methods to predict the thermal niche of mammals. We showed that PhyloPars had better performance than Phylogenetic Eigenvector Maps in predict the thermal niche. Moreover, the error and bias had similar phylogenetic pattern for both margins of the thermal niche while they had differences in the geographic pattern. The variance in the performance was explained by taxonomic differences and not by methodological aspects. Finally, our models better predicted the upper margin than the lower margin of the thermal niche. This is a good news for predicting the effect of climate change on species without physiological data. We hope our finds can be used to improve the predictions of climate change effect on the biodiversity in future studies and support the political decisions on minimizing the effects of climate change on biodiversity. / As mudanças climáticas são uma das principais ameaças à biodiversidade e é esperado que aumente seu impacto ao longo do século XXI. As mudanças climáticas afetam todos os níveis de biodiversidade, de indivíduos à biomas, reduzindo os serviços ecossistêmicos. Apesar disso, as predições dos impactos das mudanças climáticas na biodiversidade é ainda um desafio. A superação dessas questões depende de melhorias em diferentes aspectos da ciência que dá suporte para predizer o impacto das mudanças climáticas na biodiversidade. A prática comum para predizer o impacto das mudanças climáticas consiste em formular modelos de nicho ecológico baseado no clima atual e projetar as mudanças baseadas no clima futuro predito pelos modelos climáticos. No entanto, existem algumas limitações reconhecidas na formulação do modelo de nicho ecológico e no uso das predições dos modelos climáticos que precisam ser analisadas. Aqui, no primeiro capítulo nós revisamos a ciência por detrás dos modelos climáticos com o intuito de reduzir a lacuna de conhecimentos entre a comunidade científica que formula os modelos climáticos e a comunidade que usa as predições dos modelos. Nós mostramos que não existe consenso sobre avaliar os modelos climáticos, obter modelos regionais com maior resolução espacial e definir modelos consensuais. No entanto, nós damos algumas orientações para usar as predições dos modelos climáticos. No segundo capítulo, nós testamos se as predições dos modelos correlativos de nicho ecológicos ajustados com presença-ausência são congruentes com aqueles ajustados com dados de abundância nas medidas de impacto das mudanças climáticas em abelhas de orquídeas da Mata Atlântica. Nós encontramos que os modelos com presença-ausência foram substitutos parciais das mudanças na abundância quando o resultado dos modelos foi contínuo (adequabilidade), mas o mesmo não ocorreu quando as predições foram convertidas para binárias. As espécies de abelhas, de modo geral, irão diminuir em abundância no futuro, mas reterão uma boa quantidade de locais adequados no futuro e a distância para áreas climáticas adequadas ganhadas podem estar bem próximo, apesar da grande variação. A mudança na riqueza e na substituição de espécies ocorrerá principalmente no Oeste e algumas regiões no sul da Mata Atlântica. No terceiro capítulo, nós discutimos as desvantagens no uso de estimativas do nicho realizado ao invés do nicho fundamental, como superestimar o efeito das mudanças climáticas no risco de extinção das espécies. Nós propomos um esquema geral baseado em métodos filogenéticos comparativos e métodos de dados faltantes para predizer as dimensões do nicho fundamental das espécies com dados faltantes. Além disso, nós exploramos as fontes de incerteza nas predições do nicho fundamental e destacamos direções futuras para superar as limitações atuais dos métodos comparativos filogenéticas e métodos de dados faltantes para melhorar as predições. Nós concluímos que é possível fazer melhor uso do conhecimento atual sobre o nicho fundamental das espécies com informação filogenética e caracteres auxiliares para predizer o nicho fundamental de espécies pouco estudadas. No quarto capítulo, nós usamos o esquema geral do capítulo três para testar a performance de dois novos métodos de modelagem filogenética para predizer o nicho térmico dos mamíferos. Nós mostramos que o “PhyloPars” teve uma melhor performance que o “Phylogenetic Eigenvector Maps” em predizer o nicho térmico. Além disso, o erro e o viés tiveram um padrão filogenético similar para ambas as margens do nicho térmico, enquanto eles apresentaram diferentes padrões espaciais. A variância na performance foi explicada pelas diferenças taxonômicas e não pelas diferenças em aspectos metodológicos. Finalmente, nossos modelos melhor predizem a margem superior do que a margem inferior do nicho térmico. Essa é uma boa notícia para predizer o efeito das mudanças climáticas em espécies sem dados fisiológicos. Nós esperamos que nossos resultados possam ser usados para melhorar as predições do efeito das mudanças climáticas na biodiversidade em estudos futuros e dar suporte para decisões políticas para minimização dos efeitos das mudanças climáticas na biodiversidade.
|
6 |
Predição de mudanças conjuntas de artefatos de software com base em informações contextuais / Predicting co-changes of software artifacts based on contextual informationIgor Scaliante Wiese 18 March 2016 (has links)
O uso de abordagens de predição de mudanças conjuntas auxilia os desenvolvedores a encontrar artefatos que mudam conjuntamente em uma tarefa. No passado, pesquisadores utilizaram análise estrutural para construir modelos de predição. Mais recentemente, têm sido propostas abordagens que utilizam informações históricas e análise textual do código fonte. Apesar dos avanços obtidos, os desenvolvedores de software ainda não usam essas abordagens amplamente, presumidamente por conta do número de falsos positivos. A hipótese desta tese é que informações contextuais obtidas das tarefas, da comunicação dos desenvolvedores e das mudanças dos artefatos descrevem as circunstâncias e condições em que as mudanças conjuntas ocorrem e podem ser utilizadas para realizar a predição de mudanças conjuntas. O objetivo desta tese consiste em avaliar se o uso de informações contextuais melhora a predição de mudanças conjuntas entre dois arquivos em relação às regras de associação, que é uma estratégia frequentemente usada na literatura. Foram construídos modelos de predição específicos para cada par de arquivos, utilizando as informações contextuais em conjunto com o algoritmo de aprendizagem de máquina random forest. Os modelos de predição foram avaliados em 129 versões de 10 projetos de código aberto da Apache Software Foundation. Os resultados obtidos foram comparados com um modelo baseado em regras de associação. Além de avaliar o desempenho dos modelos de predição também foram investigadas a influência do modo de agrupamento dos dados para construção dos conjuntos de treinamento e teste e a relevância das informações contextuais. Os resultados indicam que os modelos baseados em informações contextuais predizem 88% das mudanças corretamente, contra 19% do modelo de regras de associação, indicando uma precisão 3 vezes maior. Os modelos criados com informações contextuais coletadas em cada versão do software apresentaram maior precisão que modelos construídos a partir de um conjunto arbitrário de tarefas. As informações contextuais mais relevantes foram: o número de linhas adicionadas ou modificadas, número de linhas removidas, code churn, que representa a soma das linhas adicionadas, modificadas e removidas durante um commit, número de palavras na descrição da tarefa, número de comentários e papel dos desenvolvedores na discussão, medido pelo valor do índice de intermediação (betweenness) da rede social de comunicação. Os desenvolvedores dos projetos foram consultados para avaliar a importância dos modelos de predição baseados em informações contextuais. Segundo esses desenvolvedores, os resultados obtidos ajudam desenvolvedores novatos no projeto, pois não têm conhecimento da arquitetura e normalmente não estão familiarizados com as mudanças dos artefatos durante a evolução do projeto. Modelos de predição baseados em informações contextuais a partir de mudanças de software são relativamente precisos e, consequentemente, podem ser usados para apoiar os desenvolvedores durante a realização de atividades de manutenção e evolução de software / Co-change prediction aims to make developers aware of which artifacts may change together with the artifact they are working on. In the past, researchers relied on structural analysis to build prediction models. More recently, hybrid approaches relying on historical information and textual analysis have been proposed. Despite the advances in the area, software developers still do not use these approaches widely, presumably because of the number of false recommendations. The hypothesis of this thesis is that contextual information of software changes collected from issues, developers\' communication, and commit metadata describe the circumstances and conditions under which a co-change occurs and this is useful to predict co-changes. The aim of this thesis is to use contextual information to build co-change prediction models improving the overall accuracy, especially decreasing the amount of false recommendations. We built predictive models specific for each pair of files using contextual information and the Random Forest machine learning algorithm. The approach was evaluated in 129 versions of 10 open source projects from the Apache Software Foundation. We compared our approach to a baseline model based on association rules, which is often used in the literature. We evaluated the performance of the prediction models, investigating the influence of data aggregation to build training and test sets, as well as the identification of the most relevant contextual information. The results indicate that models based on contextual information can correctly predict 88% of co-change instances, against 19% achieved by the association rules model. This indicates that models based on contextual information can be 3 times more accurate. Models created with contextual information collected in each software version were more accurate than models built from an arbitrary amount of contextual information collected from more than one version. The most important pieces of contextual information to build the prediction models were: number of lines of code added or modified, number of lines of code removed, code churn, number of words in the discussion and description of a task, number of comments, and role of developers in the discussion (measured by the closeness value obtained from the communication social network). We asked project developers about the relevance of the results obtained by the prediction models based on contextual information. According to them, the results can help new developers to the project, since these developers have no knowledge about the architecture and are usually not familiar with the artifacts history. Thus, our results indicate that prediction models based on the contextual information are useful to support developers during the maintenance and evolution activities
|
Page generated in 0.0629 seconds