IUsgdoisagd
6087 palavras
25 páginas
Avaliando Decisões Subjetivas para Refatoração de Código na IndústriaPaulo Sérgio Medeiros dos Santos e Guilherme Horta Travassos,
COPPE/UFRJ, Universidade Federal do Rio de Janeiro, Brasil
Caixa Postal 68511 – CEP 21945-970 – Rio de Janeiro, RJ
{pasemes, ght}@cos.ufrj.br
Abstract. Refactoring plays a key role in maintaining the software product quality . However, refactoring decisions heavily rely on human factors because it depends on the examination of different characteristics present in the code structure. Aiming at investigating the characteristics which could affect devel-opers’ refactoring decisions, an action-research based study was conducted. Contradicting previous findings, the regression models based on the system`s code metrics were able to explain from 64% to 89% of the refactoring decisions, and also provided evidence about the characteristics influencing the developer`s decision making. We believe the combination of obtained results by using regression models can be used as motivation for the construction of more effective tools to support refactoring decisions by software engineers.
Keywords: refactoring; regression models; action research, experimental software engineering; field study in vivo study.
1 Introdução
Em um ambiente de desenvolvimento real, a necessidade de modificação e evolução do software é inerente ao processo de desenvolvimento e particularmente mais presente no processo incremental. Isto ocorre devido a melhorias aplicadas ao software, evolução de requisitos ou construção de novos módulos. Muitas vezes, estas necessidades podem levar ao decaimento da qualidade do software na medida em que o desviam do seu projeto inicial.
A facilidade para a evolução do software é, neste contexto, um elemento central. Para Bennet e Rajlich [3], o que torna possível a evolução do software são a sua ar-quitetura e o conhecimento da equipe de desenvolvimento sobre o software, pois permitem que a equipe evolua o software sem atingir a sua