Return to search

Uma ferramenta para predição de mudanças conjuntas baseadas em informações de repositórios de software / A tool for predicting joint changes based on information from software repositories

A manutenção é uma fase do ciclo de vida do software reconhecida por demandar uma grande quantidade de esforço em comparação às outras, como o desenvolvimento. As tarefas da manutenção envolvem a modificação do software, mais especificamente os artefatos que o compõe. O fato de modificar um determinado artefato pode afetar outras partes do software, cujo fenômeno é conhecido como impacto de mudança. Técnicas e ferramentas para apoiar a análise de impacto de mudança geralmente são baseadas em tipos de acoplamentos e têm sido propostas por diversos trabalhos na literatura, como as Regras de Associação e Aprendizado de Máquina usando Classificação. No entanto, essas técnicas não foram avaliadas do ponto de vista prático. Motivado pela falta de uma avaliação dessa perspectiva, esse trabalho realizou um experimento com uma ferramenta que implementa tais técnicas. Para tanto, foi desenvolvida uma ferramenta para automatizar a execução dessas técnicas para realizar predição de mudanças conjuntas de artefatos e apresentá-las ao desenvolvedor, além de coletar o feedback dos desenvolvedores na ferramenta. Com a ferramenta desenvolvida, foi realizada uma prova de conceito com o uso da ferramenta em tarefas de manutenção (defeitos) do projeto de software livre da Apache denominado CXF, por colaboradores novatos representados pelos alunos do curso de Ciência da Computação. Apesar de depender do desempenho das técnicas de predição de mudanças conjuntas, os resultados mostraram evidências que a ferramenta pode apoiar colaboradores novatos e, também, diminuir o esforço para realizar uma tarefa de manutenção de software, comparando quando nenhuma técnica é usada. / Maintenance is a stage of the software life cycle recognized by demanding a lot of effort in comparison to others, such as development. The maintenance tasks involve software modification, specifically the artifacts that compose it. Modifying a particular artifact can affect other parts of the software. This phenomenon is known as change impact. Techniques and tools to support the change impact analysis are usually based on types of couplings and have been proposed by several studies in the literature, such as the Association Rules and Machine Learning using Classification. However, these techniques have not been evaluated from the practical point of view. Therefore, a tool was developed to automate the execution of these techniques to predict joint changes of artifacts and present them to the developer, as well as collecting developers’ feedback on the tool. With the developed tool, a proof of concept was performed using the tool in maintenance tasks (bugs) of the Apache free software project called CXF, by novice collaborators represented by the students of the Computer Science course. Although it depends on the performance of joint change prediction techniques, the results showed evidence that the tool can support novice collaborators and also decrease the effort to perform a software maintenance task, comparing when no technique is used.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.utfpr.edu.br:1/3236
Date01 August 2017
CreatorsKuroda, Rodrigo Takashi
ContributorsRé, Reginaldo, Watanabe, Willian Massami, Colanzi, Thelma Elita, Wiese, Igor Scaliante
PublisherUniversidade Tecnológica Federal do Paraná, Cornelio Procopio, Programa de Pós-Graduação em Informática, UTFPR, Brasil
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UTFPR, instname:Universidade Tecnológica Federal do Paraná, instacron:UTFPR
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0029 seconds