Banca de DEFESA: NAELSON DOUGLAS CIRILO OLIVEIRA

Uma banca de DEFESA de MESTRADO foi cadastrada pelo programa.
DISCENTE : NAELSON DOUGLAS CIRILO OLIVEIRA
DATA : 29/08/2022
HORA: 14:00
LOCAL: Instituto de Computação
TÍTULO:

Warnings de Python detectados por linters: Frequência, Percepção, Refatoração e Automatização


PALAVRAS-CHAVES:

Lint, warnings, python


PÁGINAS: 50
RESUMO:

Python é uma linguagem de programação dinâmica e é caracterizada tanto por sua simplicidade quanto por sua curva de aprendizado fácil. Tais características renderam a ela uma abrangente adoção tanto na indústria quanto na academia. A linguagem possui um conjunto próprio de boas práticas as quais devem ser respeitadas de modo a otimizar métricas de qualidade como a legibilidade, segurança, capacidade de manutenção do código e entre outros. Uma abordagem consolidada para a detecção de situações de não respeito a estas boas práticas é o uso de ferramentas de linting. Feita a detecção, a ferramenta gera uma notificação em formato de warning para, permitindo que em sequência o mantenedor do código possa realizar a devida refatoração para aplicar a boa prática faltante. O contexto focado neste trabalho é o de warnings de Python gerados por linting, mais especificamente investigamos três diferentes aspectos: o quão comum eles são em aplicações Python reais; a percepção de desenvolvedores sobre o tema; e a refatoração destes warnings. Para cobrir este tópico conduzimos três diferentes estudos: no primeiro, analisamos 1.119 repositórios públicos de Python no Github e caracterizamos a existência de seis diferentes tipos de warnings nestes repositórios. Também conduzimos uma pesquisa com desenvolvedores Python de 18 diferentes países sobre o tema de modo a coletar o nível de percepção de qualidade deles sobre códigos Python escritos com warning contra suas versões refatoradas. Em sequência refatoramos warnings detectados em 55 repositórios públicos e submetemos pull requests com as correções para em seguida analisarmos a taxa de aceitabilidade destas correções. Nossos resultados mostram que 39% dos 1.119 projetos têm pelo menos um warning baseado em lint. Depois de analisar os dados da pesquisa, também mostramos que os desenvolvedores preferem código Python sem warnings baseados em lint. Em relação aos pull requests, alcançamos uma taxa de aceitação de 71,8%. Finalmente, implementamos uma ferramenta capaz de refatorar os warnings analisados neste trabalho de forma automatizada, removendo assim do mantenedor a responsabilidade de manualmente realizar as correções detectadas por linters.


MEMBROS DA BANCA:
Presidente - 1741806 - MARCIO DE MEDEIROS RIBEIRO
Interno - 1963609 - BALDOINO FONSECA DOS SANTOS NETO
Externo à Instituição - ROHIT GHEYI - UFCG
Notícia cadastrada em: 08/08/2022 10:17
SIGAA | NTI - Núcleo de Tecnologia da Informação - (82) 3214-1015 | Copyright © 2006-2024 - UFAL - sig-app-2.srv2inst1 20/04/2024 10:54