Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-09-04T20:48:36Z
No. of bitstreams: 1
AdorilsonBezerraDeAraujo_DISSERT.pdf: 1520413 bytes, checksum: c9a4bb003f34cd8b94eb21679d5d37e0 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-09-06T20:51:39Z (GMT) No. of bitstreams: 1
AdorilsonBezerraDeAraujo_DISSERT.pdf: 1520413 bytes, checksum: c9a4bb003f34cd8b94eb21679d5d37e0 (MD5) / Made available in DSpace on 2017-09-06T20:51:39Z (GMT). No. of bitstreams: 1
AdorilsonBezerraDeAraujo_DISSERT.pdf: 1520413 bytes, checksum: c9a4bb003f34cd8b94eb21679d5d37e0 (MD5)
Previous issue date: 2017-02-14 / A plataforma Android ? atualmente a mais popular para o desenvolvimento de aplica??es
m?veis, ocupando mais de 80% do mercado de sistemas operacionais para
dispositivos m?veis, criando uma demanda por customiza??es de aplica??es para lidar
com diferentes dispositivos, tais como, tamanho de tela, poder de processamento
e mem?ria dispon?vel, idiomas e necessidades espec?ficas dos usu?rios. J? foram disponibilizadas
23 novas vers?es da plataforma Android desde o seu lan?amento. De
forma a permitir a execu??o com sucesso das aplica??es em diferentes dispositivos, ?
fundamental oferecer suporte ?s m?ltiplas vers?es da API (Application Programming
Interface). Esta disserta??o de mestrado tem como objetivo: analisar, caracterizar e
comparar t?cnicas utilizadas por aplica??es Android para oferecer suporte a m?ltiplas
vers?es da API. Em especial, o trabalho busca: (i) identificar na literatura quais
as t?cnicas indicadas para suporte ?s m?ltiplas vers?es da API Android; (ii) analisar
aplica??es reais para quantificar o uso dessas t?cnicas; e (iii) comparar as caracter?sticas
e consequ?ncias do uso de tais t?cnicas. Um estudo emp?rico foi conduzido
para atingir tal objetivo, no qual foram analisadas 25 aplica??es Android populares.
Os resultados do estudo mostram que existem tr?s t?cnicas para prover suporte ?ss
m?ltiplas vers?es da API: i) pacote de compatibilidade, variabilidades de granularidade
grossa da API que envolvam um conjunto de classes; ii) re-implementa??o de
recurso, para situa??es pontuais e granularidade grossa em n?vel de classe ou quando
o recurso n?o est? dispon?vel em pacote de compatibilidade; e iii) uso expl?cito da
nova API, variabilidades de granularidade fina da API que envolva a chamada de m?todos
espec?ficos. Atrav?s da an?lise de 25 aplica??es identificamos que pacote de
compatibilidade foi utilizada por 23 aplica??es, re-implementa??o de recurso por 14
e uso expl?cito da nova API por 22. A API de fragmentos cont?m os elementos mais
comuns dentre os lan?ados em vers?es superiores da plataforma que s?o usados pelas
aplica??es durante sua evolu??o, sendo referenciados por 68% delas. No geral, as
aplica??es poderiam aumentar o seu mercado em potencial com adapta??es de, em
m?dia, 15 trechos de c?digo, por outro lado, os desenvolvedores das aplica??es t?m se
preocupado em evitar c?digo-morto em fun??o da API da plataforma.Na an?lise de 7
aplica??es, 4 delas continham c?digo-morto, mas os quais em geral n?o representam
mais do que 0,1% do seu c?digo total. / Android is currently the most popular platformfor the development of mobile applications,
representing more than 80% of the operating systems market for mobile devices.
This causes demands for application customizations to handle different devices
such as screen size, processing power and available memory, languages, and specific
user needs. Twenty-three new versions of Android platformhave been released since
its first release. In order to enable the successful execution of applications on different
devices, it is essential to support multiple versions of the Application Programming
Interface (API). This dissertation aims to analyze, characterize and compare techniques
used by Android applications to support multiple versions of the API. In particular,
the work seeks: (i) to identify the used techniques to support multiple versions
of the Android API in the literature; (ii) to analyze real applications to quantify the
usage of these techniques; and (iii) to compare the characteristics and consequences
of using such techniques. An empirical study, in which 25 popular Android apps
were analyzed, was conducted to achieve this goal. The results of the study show that
there are three techniques to support multiple versions of the API: i) compatibility
package, that adrresses API coarse granularity variabilities involving a set of classes;
ii) re-implementation of resource used for specific situations and coarse granularity at
class level or when resource is not available in compatibility package; and iii)explicit
use of the new API that allows implementing fine grained variabilities of the API that
involves calling of specific methods. Through the analysis of 25 applications, we have
identified that compatibility package was used by 23 applications, re-implementation
of resource was used by 14 applications and the explicit usage of the new API was used
by 22 applications. The API fragments contains the most common elements among
those released in higher versions of the platformthat are used by applications during
their evolution, and it is referenced by 68% of them. In general, applications could
increase their potential market with adaptations of, on average, 15 code snippets. On
the other hand, application developers have been worried about how avoiding dead
code based on platform API. In the analysis of 7 applications, 4 of them contained
dead code, but it did not represent more than 0.1% of total code.
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufrn.br:123456789/23778 |
Date | 14 February 2017 |
Creators | Ara?jo, Adorilson Bezerra de |
Contributors | 02219235432, http://lattes.cnpq.br/0189095897739979, Aranha, Eduardo Henrique da Silva, 02561400492, http://lattes.cnpq.br/9520477461031645, Almeida, Rodrigo Bonif?cio de, 02780875402, http://lattes.cnpq.br/0368311142108150, Kulesza, Uira |
Publisher | PROGRAMA DE P?S-GRADUA??O EM SISTEMAS E COMPUTA??O, UFRN, Brasil |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da UFRN, instname:Universidade Federal do Rio Grande do Norte, instacron:UFRN |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.014 seconds