Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/ESBF-AEDJGN
Type: Dissertação de Mestrado
Title: On the use of replacement messages in API deprecation: an empirical study
Authors: Gleison Brito Batista
First Advisor: Marco Tulio de Oliveira Valente
First Referee: Andre Cavalcante Hora
Second Referee: Luciana Lourdes da Silva
Abstract: 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.
Subject: Software Manutenção
Software Desenvolvimento
Computação
language: Inglês
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
Rights: Acesso Aberto
URI: http://hdl.handle.net/1843/ESBF-AEDJGN
Issue Date: 22-Jun-2016
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
gleisonbrito.pdf1.3 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.