Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/30002
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2019_AfonsoDiasOliveiraSilva_tcc.pdf457,17 kBAdobe PDFver/abrir
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.