Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.

Detalhes bibliográficos
Ano de defesa: 2014
Autor(a) principal: MAIA, Mikaela Anuska Oliveira.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://dspace.sti.ufcg.edu.br/handle/riufcg/392
Resumo: Apesar da diversidade que a API do Java Collections Framework(JCF) provê, com uma variedade de implementações para várias estruturas de dados, os desenvolvedores podem escolher interfaces ou classes inadequadas, em termos de eficiência ou propósito. Isto pode acontecer devido à documentação da API ser insuficiente ou a falta de análise ponderada pelo desenvolvedor de acordo com exigências do contexto. É possível a substituição manual, em paralelo com uma análise do contexto do programa. No entanto, isso é cansativo e suscetível a erros,desestimulando a modificação. Neste trabalho, nós definimos uma abordagem semi-automática para a seleção de interfaces e implementações dentro do JCF e a modificação de clientes do JCF, com base em técnicas de migração de API. A abordagem ajuda o usuário a escolher a coleção mais apropriada, com base em requisitos coletados por meio de perguntas mais intuitivas para o usuário. A seleção é resolvida com uma árvore de decisão que, a partir das respostas dadas pelo desenvolvedor, decide qual é a interface e implementação mais adequada do JCF. Após esta decisão, a modificação do programa é realizado por meio de adaptadores, minimizando a modificação do código fonte. Nós avaliamos a abordagem, implementada em uma ferramenta de apoio, com um estudo experimental que compreende estudantes de Ciência da Computação distribuídos aleatoriamente em grupos, os quais realizaram mudanças para clientes do JCF por diferentes métodos: manualmente, utilizando-se do EclipseJavaSearch e nossa abordagem. Os resultados foram avaliados na qualidade, esforço e tempo gasto. Descobrimos que a maioria dos usuários teve dificuldades em escolher a interface ou implementação apropriada para os requisitos apresentados. Nossa abordagem evidenciou uma melhora no esforço de selecionar a melhor coleção para a exigência, poupando algum tempo no processo. Sobre a qualidade da coleção selecionada, encontramos o mesmo comportamento usando as duas ferramentas.
id UFCG_239f2067df27a2305db7a2d4870a4934
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/392
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str
spelling Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.An approach to client adaptation of the Java Collections Framework based on API migration techniques.Java Collections FrameworkApplication Programming Interface - APIMigração de Interface de Programação de AplicaçõesLinguagem de ProgramaçãoMigração de APICiência da ComputaçãoApesar da diversidade que a API do Java Collections Framework(JCF) provê, com uma variedade de implementações para várias estruturas de dados, os desenvolvedores podem escolher interfaces ou classes inadequadas, em termos de eficiência ou propósito. Isto pode acontecer devido à documentação da API ser insuficiente ou a falta de análise ponderada pelo desenvolvedor de acordo com exigências do contexto. É possível a substituição manual, em paralelo com uma análise do contexto do programa. No entanto, isso é cansativo e suscetível a erros,desestimulando a modificação. Neste trabalho, nós definimos uma abordagem semi-automática para a seleção de interfaces e implementações dentro do JCF e a modificação de clientes do JCF, com base em técnicas de migração de API. A abordagem ajuda o usuário a escolher a coleção mais apropriada, com base em requisitos coletados por meio de perguntas mais intuitivas para o usuário. A seleção é resolvida com uma árvore de decisão que, a partir das respostas dadas pelo desenvolvedor, decide qual é a interface e implementação mais adequada do JCF. Após esta decisão, a modificação do programa é realizado por meio de adaptadores, minimizando a modificação do código fonte. Nós avaliamos a abordagem, implementada em uma ferramenta de apoio, com um estudo experimental que compreende estudantes de Ciência da Computação distribuídos aleatoriamente em grupos, os quais realizaram mudanças para clientes do JCF por diferentes métodos: manualmente, utilizando-se do EclipseJavaSearch e nossa abordagem. Os resultados foram avaliados na qualidade, esforço e tempo gasto. Descobrimos que a maioria dos usuários teve dificuldades em escolher a interface ou implementação apropriada para os requisitos apresentados. Nossa abordagem evidenciou uma melhora no esforço de selecionar a melhor coleção para a exigência, poupando algum tempo no processo. Sobre a qualidade da coleção selecionada, encontramos o mesmo comportamento usando as duas ferramentas.Despite the API diversity that the Java Collections Framework (JCF) provides, with diverse implementations for several data structures, developers may choose inappropriate interfaces or classes, in terms of efficiency or purpose. This may happen due to insufficient API documentation or the lack of thoughtful analysis by the developer according to context requirements. A possible solution is manual replacement, in parallel with an analysis of the program context. However, this is tiresome and error-prone, discouraging the modification. In this work, we define a semi-automatic approach for (i) the selection of interfaces and implementation within the JCF and (ii) the modification of JCF clients, based on API migration techniques. The approach helps the user in choosing the most appropriate collection, based on requirements collected by means of simple yes/no questions. The selection is resolved with a decision tree that, from the answers given by the developer, decides which is the most adequate interface (and implementation) from the JCF. After this decision, the actual program modification is performed by means of adapters, minimizing the source code modification We evaluate the approach, as implemented in a supporting tool,with an experimental study comprising computer science students randomly distributed into groups,whose task was performing changes to JCF clients by different methods (manually, using Eclipse’s Java Search and our approach); the results were evaluated on quality, effort and time spent. We found that most students had a hard time choosing the right interface or implementation for the given requirements. Our approach seemed to improve the effort of selecting the best collection for the requirement, saving sometime in the process. Regarding the quality of the collection selected, we found the same behavior using both tools.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGMASSONI, Tiago Lima.MASSONI, T. L.http://lattes.cnpq.br/3563923906851611FARIAS, Adalberto Cajueiro de.FARIAS, A. C.http://lattes.cnpq.br/9462873740250320MAIA, Mikaela Anuska Oliveira.2014-082018-04-16T18:53:29Z2018-04-162018-04-16T18:53:29Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://dspace.sti.ufcg.edu.br/handle/riufcg/392MAIA, Mikaela Anuska Oliveira. Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de Migração de APIs. 2014. 123 f. (Dissertação de Mestrado). Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2014. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/392porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2025-07-24T06:04:38Zoai:dspace.sti.ufcg.edu.br:riufcg/392Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512025-07-24T06:04:38Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
An approach to client adaptation of the Java Collections Framework based on API migration techniques.
title Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
spellingShingle Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
MAIA, Mikaela Anuska Oliveira.
Java Collections Framework
Application Programming Interface - API
Migração de Interface de Programação de Aplicações
Linguagem de Programação
Migração de API
Ciência da Computação
title_short Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
title_full Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
title_fullStr Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
title_full_unstemmed Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
title_sort Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de migração de APÌs.
author MAIA, Mikaela Anuska Oliveira.
author_facet MAIA, Mikaela Anuska Oliveira.
author_role author
dc.contributor.none.fl_str_mv MASSONI, Tiago Lima.
MASSONI, T. L.
http://lattes.cnpq.br/3563923906851611
FARIAS, Adalberto Cajueiro de.
FARIAS, A. C.
http://lattes.cnpq.br/9462873740250320
dc.contributor.author.fl_str_mv MAIA, Mikaela Anuska Oliveira.
dc.subject.por.fl_str_mv Java Collections Framework
Application Programming Interface - API
Migração de Interface de Programação de Aplicações
Linguagem de Programação
Migração de API
Ciência da Computação
topic Java Collections Framework
Application Programming Interface - API
Migração de Interface de Programação de Aplicações
Linguagem de Programação
Migração de API
Ciência da Computação
description Apesar da diversidade que a API do Java Collections Framework(JCF) provê, com uma variedade de implementações para várias estruturas de dados, os desenvolvedores podem escolher interfaces ou classes inadequadas, em termos de eficiência ou propósito. Isto pode acontecer devido à documentação da API ser insuficiente ou a falta de análise ponderada pelo desenvolvedor de acordo com exigências do contexto. É possível a substituição manual, em paralelo com uma análise do contexto do programa. No entanto, isso é cansativo e suscetível a erros,desestimulando a modificação. Neste trabalho, nós definimos uma abordagem semi-automática para a seleção de interfaces e implementações dentro do JCF e a modificação de clientes do JCF, com base em técnicas de migração de API. A abordagem ajuda o usuário a escolher a coleção mais apropriada, com base em requisitos coletados por meio de perguntas mais intuitivas para o usuário. A seleção é resolvida com uma árvore de decisão que, a partir das respostas dadas pelo desenvolvedor, decide qual é a interface e implementação mais adequada do JCF. Após esta decisão, a modificação do programa é realizado por meio de adaptadores, minimizando a modificação do código fonte. Nós avaliamos a abordagem, implementada em uma ferramenta de apoio, com um estudo experimental que compreende estudantes de Ciência da Computação distribuídos aleatoriamente em grupos, os quais realizaram mudanças para clientes do JCF por diferentes métodos: manualmente, utilizando-se do EclipseJavaSearch e nossa abordagem. Os resultados foram avaliados na qualidade, esforço e tempo gasto. Descobrimos que a maioria dos usuários teve dificuldades em escolher a interface ou implementação apropriada para os requisitos apresentados. Nossa abordagem evidenciou uma melhora no esforço de selecionar a melhor coleção para a exigência, poupando algum tempo no processo. Sobre a qualidade da coleção selecionada, encontramos o mesmo comportamento usando as duas ferramentas.
publishDate 2014
dc.date.none.fl_str_mv 2014-08
2018-04-16T18:53:29Z
2018-04-16
2018-04-16T18:53:29Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://dspace.sti.ufcg.edu.br/handle/riufcg/392
MAIA, Mikaela Anuska Oliveira. Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de Migração de APIs. 2014. 123 f. (Dissertação de Mestrado). Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2014. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/392
url https://dspace.sti.ufcg.edu.br/handle/riufcg/392
identifier_str_mv MAIA, Mikaela Anuska Oliveira. Uma abordagem para adaptação de clientes do Java Collections Framework baseada em técnicas de Migração de APIs. 2014. 123 f. (Dissertação de Mestrado). Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2014. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/392
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1851784591945236480