Use este identificador para citar ou linkar para este item:
http://hdl.handle.net/1843/ESBF-AEDJGN
Tipo: | Dissertação de Mestrado |
Título: | On the use of replacement messages in API deprecation: an empirical study |
Autor(es): | Gleison Brito Batista |
Primeiro Orientador: | Marco Tulio de Oliveira Valente |
Primeiro membro da banca : | Andre Cavalcante Hora |
Segundo membro da banca: | Luciana Lourdes da Silva |
Resumo: | Como quaisquer sistemas de software, frameworks e bibliotecas evoluem ao longo do tempo, assim como suas APIs. Consequentemente, sistemas clientes devem ser constantementeatualizados para utilizarem APIs melhoradas. Para facilitar essa tarefae preservar a compatibilidade com versões anteriores, elementos de API devem ser depreciados com mensagens de substituição. No entanto, na prática, existem evidências de que esses elementos são usualmente depreciados sem tais mensagens. Nessa dissertação, são estudados um conjunto de questões relacionadas à adoção de mensagensde depreciação. O trabalho objetiva: (i) mensurar a utilização de mensagens de depreciação e (ii) investigar a necessidade de uma ferramenta para recomendar essas mensagens. Para tanto, foram verificados (i) a frequência de elementos depreciados com mensagens de depreciação, (ii) o impacto da evolução de software nessa frequênciae (iii) as características dos sistemas com elementos depreciados corretamente. Para alcançar esses objetivos, foi realizado um estudo com 622 sistemas Java e 229 sistemas C#. Esse estudo mostrou que: (i) 66,7% dos elementos de APIs de um sistema são depreciados com mensagens de substituição em Java; para C# esse valor é 77,8%, (ii)em ambas linguagens há pouco esforço para melhorar as mensagens de depreciação ao longo do tempo e (iii) sistemas que depreciam elementos de API corretamente são estatisticamente diferentes em termos de tamanho, comunidade de desenvolvedores e atividade. Também foi realizado um segundo estudo para avaliar a viabilidade de uma ferramenta de recomendação capaz de inferir mensagens de substituição utilizando as soluções adotadas pelos desenvolvedores. Como resultado temos que: (i) 73% das recomendações sugeridas pela ferramenta correspondem de fato a mensagens de substituiçãoreais de elementos de API depreciados e (ii) os percentuais de mensagens de substituição cobertos pela ferramenta em três sistemas relevantes são 28,2%, 30,7% e 37,5%. Os resultados obtidos apontam que essa ferramenta pode oferecer sugestões úteis para mantenedores de software. |
Abstract: | As any other software system, frameworks and libraries evolve over time, and so their APIs. Consequently, client systems should be updated to benefit from improved APIs. To facilitate this task and preserve backward compatibility, API elements should in theory be deprecated with clear replacement messages. However, there are evidences that APIs are usually deprecated without such messages. In this dissertation, we explore a set of questions regarding the adoption of deprecation messages. Our goals are twofold. First, to reveal the usage of API deprecation messages in a large sample of client systems; second, to investigate whether tools can be designed to recommend such messages. To achieve these goals we perform an empirical study using 622 Java systems and 229 C# systems. We show (i) the frequency of deprecated elements with replacement messages, (ii) how this frequency over along time, and (iii) the key characteristics of systems with API elements deprecated in a correct way. |
Assunto: | Software Manutenção Software Desenvolvimento Computação |
Idioma: | Inglês |
Editor: | Universidade Federal de Minas Gerais |
Sigla da Instituição: | UFMG |
Tipo de Acesso: | Acesso Aberto |
URI: | http://hdl.handle.net/1843/ESBF-AEDJGN |
Data do documento: | 22-Jun-2016 |
Aparece nas coleções: | Dissertações de Mestrado |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
gleisonbrito.pdf | 1.3 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.