Campo DC | Valor | Idioma |
dc.contributor.advisor | Almeida, Rodrigo Bonifácio de | - |
dc.contributor.author | Marcilio, Diego Venâncio | - |
dc.date.accessioned | 2020-03-11T22:12:39Z | - |
dc.date.available | 2020-03-11T22:12:39Z | - |
dc.date.issued | 2020-03-11 | - |
dc.date.submitted | 2019-08-05 | - |
dc.identifier.citation | MARCILIO, Diego Venâncio. Automatically fixing static analysis tools violations. 2019. xi, 62 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2019. | pt_BR |
dc.identifier.uri | https://repositorio.unb.br/handle/10482/37098 | - |
dc.description | Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019. | pt_BR |
dc.description.abstract | A qualidade de software tem se tornado cada vez mais importante à medida que a so-
ciedade depende mais de sistemas de software. Defeitos de software podem custar caro
à organizações, especialmente quando causam falhas. Ferramentas de análise estática
analisam código para encontrar desvios, ou violações, de práticas recomendadas de pro-
gramação definidas como regras. Essa análise pode encontrar defeitos de software de
forma antecipada, mais rápida e barata, em contraste à inspeções manuais. Para corrigir-
se uma violação é necessário que o programador modifique o código problemático. Essas
modificações podem ser tediosas, passíveis de erro e repetitivas. Dessa forma, a au-
tomação de transformações de código é uma funcionalidade frequentemente requisitada
por desenvolvedores. Esse trabalho implementa transformações automáticas para resolver
violações identificadas por ferramentas de análise estática. Primeiro, nós investigamos o
uso da ferramenta SonarQube, uma ferramenta amplamente utilizada, em duas grandes
organizações open-source e duas instituições do Governo Federal do Brasil. Nossos re-
sultados mostram que um pequeno subconjunto de regras é responsável por uma grande
porção das violações resolvidas. Nós implementamos transformações automáticas para
11 regras do conjunto de regras comumente resolvidas achadas no estudo anterior. Nós
submetemos 38 pull requests, incluindo 920 soluções para violações, geradas automati-
camente pela nossa técnica para diversos projetos open-source na linguagem Java. Os
mantenedores dos projetos aceitaram 84% das nossas transformações, sendo 95% delas
sem nenhuma modificação. Esses resultados indicam que nossa abordagem é prática, e
pode auxiliar desenvolvedores com resoluções automáticas, uma funcionalidade frequente-
mente requisitada. | pt_BR |
dc.language.iso | Português | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.title | Automatically fixing static analysis tools violations | pt_BR |
dc.type | Dissertação | pt_BR |
dc.subject.keyword | Software | pt_BR |
dc.subject.keyword | Estática | pt_BR |
dc.subject.keyword | Software - defeitos | pt_BR |
dc.rights.license | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data. | pt_BR |
dc.description.abstract1 | Software quality is becoming more important as the reliance on software systems in-
creases. Software defects may have a high cost to organizations as some can lead to
software failure. Static analysis tools analyze code to find deviations, or violations, from
recommended programming practices defined as rules. This analysis can find software
defects earlier, faster, and cheaper than manual inspections. When fixing a violation, a
programmer is required to modify the violating code. Such modifications can be tedious,
error-prone, and repetitive. Unsurprisingly, automated transformations are frequently re-
quested by developers. This work implements automatic transformations tailored to solve
violations identified by static analysis tools. First, we investigate the use of SonarQube, a
widely used Static Analysis Tool, in two large open source organizations and two Brazil-
ian Government Federal Institutions. Our results show that a small subset of the rules
is responsible for a large portion of the fixes. We implement automatic fixes for 11 rules
from the previously found set of frequently fixed rules. We submitted 38 pull requests,
including 920 fixes generated automatically by our technique for various open-source Java
projects. Projects maintainers accepted 84% of our fixes (95% of them without any mod-
ifications). These results indicate that our approach is feasible, and can aid developers
with automatic fixes, a long requested feature. | pt_BR |
dc.description.unidade | Instituto de Ciências Exatas (IE) | pt_BR |
dc.description.unidade | Departamento de Ciência da Computação (IE CIC) | pt_BR |
dc.description.ppg | Programa de Pós-Graduação em Informática | pt_BR |
Aparece nas coleções: | Teses, dissertações e produtos pós-doutorado
|