Repositório Institucional - Universidade Federal de Uberlândia: O impacto do uso de rastros de execução em atividades de localização de características de software: um experimento controlado
Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/12519
Title: O impacto do uso de rastros de execução em atividades de localização de características de software: um experimento controlado
Author: Lafetá, Raquel Fialho de Queiroz
Summary: Um dos problemas mais frequentes enfrentados em manutenção de software é a localização do código para características específicas, as quais são importantes para a compreensão de requisitos de software. Descobrir onde uma característica está localizada é uma tarefa custosa porque, em geral, estas tendem a estar espalhadas ou entrelaçadas pelo código. Considerando este problema, foi desenvolvida uma abordagem para localização de características utilizando análise dinâmica, que apresenta visões geradas a partir dos rastros de execução. O objetivo desta abordagem é auxiliar na compreensão das características, ao tornar mais rápida a sua localização, com informações que direcionam a compreensão e propiciam maior taxa de acerto nas atividades de manutenção. Para avaliação desta abordagem e verificar se o objetivo é alcançado, foi realizado um estudo controlado com sujeitos humanos, executando atividades reais de manutenção em sistemas de diferentes portes. O estudo pretende contribuir com a avaliação do impacto do uso de informações de rastros de execução em atividades de manutenção de software. Este estudo mostrou os benefícios do uso sistemático de informação de rastros de execução na diminuição do tempo de execução e no aumento da taxa de acerto em atividades de manutenção de software para o problema apresentado. As visões da abordagem proposta foram úteis através da localização das características de interesse e redução do espaço de busca inicial, levando ao direcionamento na busca pelas informações, acarretando em um menor nível de dificuldade percebida pelos participantes que utilizaram a abordagem nas manutenções realizadas nos experimentos. Além do mais, constatou-se que os experimentos onde ocorreram as mais expressivas reduções no espaço de busca inicial e melhor qualidade neste, foram os que apresentaram os melhores desempenhos, em tempo e taxa de acerto. Entretanto, este estudo também revela alguns desafios para aplicação desta abordagem em larga escala, uma vez que as visões podem apresentar elementos falsos positivos e falsos negativos que podem impactar na compreensão de sistemas a partir das informações fornecidas. Para um uso em larga escala seria necessária a introdução de outras visões, mais robustas, para viabilizar análises mais aprofundadas. Finalmente, outra conclusão foi que a abordagem não se faz útil em atividades de compreensão onde o problema do espalhamento e entrelaçamento não ocorre.
Abstract: One of the most frequent problems faced by software maintainers is to find the location of the code related with specific features, which are important for understanding the software requirements. To find where a certain feature is located is a costly task because, in general, it tends to be scattered or tangled into the code. Considering this problem, an approach for locating features using dynamic analysis has been developed, which presents views generated from execution traces. The objective of this work is to help understanding the features, enabling faster location of features and providing higher accuracy rate in maintenance activities, achieved the information that leads directly to the understanding. To evaluate this approach and check whether the goal was achieved, a controlled study was performed with the participation of human beings, when they were performing actual maintenance activities on systems of different sizes. This study contributes with an appraisal about the impact of using information from execution traces on software maintenance. This study shows the benefits related with a systematic use of information from execution traces by reducing the execution time and increasing the rate of correction in searches for information during software maintenance. The views were useful for locating the features of interest and reducing the initial search space, providing better precision in the search for information. This feature resulted in a lower level of difficulty perceived by study participants during the proposed maintenance activities. Besides that, this study has indicated that the size and quality of the search spaces (presented in the views) can affect the rate of correction and execution time on maintenance activities using the presented approach. However, this study also reveals that there are some challenges when it comes to implement this approach on a large scale, system since the views may reveal many false positives and false negatives. This situations can impact the understanding of the systems based on the provided information. On the large-scale use, of the approach, it would be interesting to introduce more robust views, enabling more robust analysis. Finally, another conclusion is that this approach is not useful in comprehension activities where the problem of scattering and entanglement does not occur.
Keywords: Localização de características
Compreensão de sistemas
Quote: LAFETÁ, Raquel Fialho de Queiroz. O impacto do uso de rastros de execução em atividades de localização de características de software: um experimento controlado. 2011. 190 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de Uberlândia, Uberlândia, 2011.