Título: | Correções automáticas de problemas em TypeScript e JavaScript via Pull Requests |
Autor(es): | Silva, Afonso Dias de Oliveira Conceição |
Orientador(es): | Canedo, Edna Dias |
Assunto: | Código-fonte Linguagem de programação (Computadores) JavaScript (Linguagem de programação de computador) Programação (Computadores) Automação |
Data de apresentação: | 18-Jul-2019 |
Data de publicação: | 23-Fev-2022 |
Referência: | SILVA, Afonso Dias de Oliveira Conceição. Correções automáticas de problemas em TypeScript e JavaScript via Pull Requests. 2019. 53 f. Trabalho de conclusão de curso (Bacharelado em Ciência da Computação)—Universidade de Brasília, Brasília, 2019. |
Resumo: | Analisadores estáticos são ferramentas bastante utilizadas pelos desenvolvedores, com
elas é possível detectar possíveis erros e má prática antes que o código seja enviado
para repositórios ou entrar em produção. Porém, mesmo com todos esses benefícios, elas
ainda possuem alguns problemas que podem prejudicar sua utilização. Diversas pesquisas
buscam evidenciar alguns desses problemas e moldam algumas soluções possíveis para
encaixar melhor o uso dessas ferramentas diretamente no fluxo de trabalho dos desen volvedores, indicando que a usabilidade das ferramentas de análise estática é fortemente
impactada pelo jeito que os desenvolvedores programam no dia a dia.
Nesse estudo estamos propondo a criação de uma nova ferramenta que, com ajuda de
bots existentes que observam repositórios do código-fonte e executam análises estáticas e
transformações de código-fonte, fará correções automáticas se baseando no modelo Pull based development. Essa ferramenta será reutilizável por se basear numa arquitetura
de microsserviços utilizando containers Docker e nela estarão os analisadores estáticos
atualmente mais utilizados para as linguagens JavaScript e TypeScript. Além disso, nossa
ferramenta contará com novas regras criadas como resultado do presente trabalho.
O objetivo deste projeto é criar correções automáticas com o intuito de melhorar
a qualidade do código e segurança de projetos baseados em JavaScript e TypeScript e
contribuir diretamente para o projeto de pesquisa e bot C-3PR, que buscar criar uma
nova abordagem para a utilização de analisadores estáticos.
Validamos fazendo a utilização do C-3PR, em conjunto com nossa ferramenta proposta,
em cerca de 21 projetos do Tribunal de Contas da União. Até o momento as ferramentas
incorporadas ao C-3PR pelo presente trabalho foram executadas 1466 vezes, as quais
resultaram, até o momento, na criação de 30 pull requests (19 aceitas) nos repositórios
analisados, assim contribuindo diretamente na qualidade do código, diminuição de code
smells, aumento da segurança e diminuição de más práticas nos código-fonte de cada
projeto analisado. |
Abstract: | Static analyzers are widely used tools by developers, with them it is possible to detect
possible errors and bad practice before the code is sent to repositories or go into produc tion. However, even with all these benefits, they still have some problems that may bother
them. There are a number of researches that seek to highlight some of these issues and
shape some possible solutions to better fit the use of these tools directly into the workflow
of developers, indicating that the usability of static analysis tools is strongly impacted by
the way developers program day by day.
In this study we are proposing the creation of a new tool that, with the help of existing
bots that observe source code repositories and perform static analyzes and source code
transformations on the set of changes, will make automatic corrections based on the model
Pull-based development. This tool will be reusable because it is based on a microservice
architecture using containers Docker and it will have the most used static parsers for
JavaScript and TypeScript languages. In addition, our tool will have new rules created
especially for this project.
The objective of this project is to create automatic corrections with the aim of im proving the quality of the code and security of projects owned by the Tribunal de Contas
da União and contribute directly to the C-3PR bot, which consists of a project master
of the student Antônio Carlos de Carvalho Júnior, who seek to create a new approach to
the use of static analyzers.
We validated the use of C-3PR, together with our proposed tool, in approximately 21
projects of the Tribunal de Contas da União. To date, 30 pull-requests have been created
in the repositories (19 accepted), thus contributing directly in the quality of the code,
decrease code smells, increase of security and decrease of bad practices in the source code
of each analyzed project. |
Informações adicionais: | Trabalho de conclusão de curso (graduação)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Ciência da Computação
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.