Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow

Detalhes bibliográficos
Autor(a) principal: Rocha, Adriano Mendonça
Data de Publicação: 2016
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFU
Texto Completo: https://repositorio.ufu.br/handle/123456789/17666
http://doi.org/10.14393/ufu.di.2016.451
Resumo: One of the most common forms of reuse is through API usage. However, one of the main challenges to effective usage is an accessible and easy to understand documentation. Several papers have proposed alternatives to make more understandable API documentation, or even more detailed. However, these studies have not taken into account the complexity of understanding of the examples to make these documentations adaptable to different levels of experience of developers. In this work we developed and evaluated four different methodologies to generate tutorials for APIs from the contents of Stack Overflow and organizing them according to the complexity of understanding. The methodologies were evaluated through tutorials generated for the Swing API. A survey was conducted to evaluate eight different features of the generated tutorials. The overall outcome of the tutorials was positive on several characteristics, showing the feasibility of the use of tutorials generated automatically. In addition, the use of criteria for presentation of tutorial elements in order of complexity, the separation of the tutorial in basic and advanced parts, the nature of tutorial to the selected posts and existence of didactic source had significantly different results regarding a chosen generation methodology. A second study compared the official documentation of the Android API and tutorial generated by the best methodology of the previous study. A controlled experiment was conducted with students who had a first contact with the Android development. In the experiment these students developed two tasks, one using the official documentation of Android and using the generated tutorial. The results of this experiment showed that in most cases, the students had the best performance in tasks when they used the tutorial proposed in this work. The main reasons for the poor performance of students in tasks using the official API documentation were due to lack of usage examples, as well as its difficult use.
id UFU_c4ccb38025a0a67859554c508613995b
oai_identifier_str oai:repositorio.ufu.br:123456789/17666
network_acronym_str UFU
network_name_str Repositório Institucional da UFU
repository_id_str
spelling Documentação automatizada de APIs com tutoriais gerados a partir do Stack OverflowComputaçãoSoftware - DesenvolvimentoInterface de programação de aplicaçõesSoftware de aplicaçãoRedocumentação de APIsMineração de RepositóriosStack OverflowAPI RedocumentationRepositories MiningStack OverflowCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOOne of the most common forms of reuse is through API usage. However, one of the main challenges to effective usage is an accessible and easy to understand documentation. Several papers have proposed alternatives to make more understandable API documentation, or even more detailed. However, these studies have not taken into account the complexity of understanding of the examples to make these documentations adaptable to different levels of experience of developers. In this work we developed and evaluated four different methodologies to generate tutorials for APIs from the contents of Stack Overflow and organizing them according to the complexity of understanding. The methodologies were evaluated through tutorials generated for the Swing API. A survey was conducted to evaluate eight different features of the generated tutorials. The overall outcome of the tutorials was positive on several characteristics, showing the feasibility of the use of tutorials generated automatically. In addition, the use of criteria for presentation of tutorial elements in order of complexity, the separation of the tutorial in basic and advanced parts, the nature of tutorial to the selected posts and existence of didactic source had significantly different results regarding a chosen generation methodology. A second study compared the official documentation of the Android API and tutorial generated by the best methodology of the previous study. A controlled experiment was conducted with students who had a first contact with the Android development. In the experiment these students developed two tasks, one using the official documentation of Android and using the generated tutorial. The results of this experiment showed that in most cases, the students had the best performance in tasks when they used the tutorial proposed in this work. The main reasons for the poor performance of students in tasks using the official API documentation were due to lack of usage examples, as well as its difficult use.Dissertação (Mestrado)Uma das maneiras mais comuns de reuso de software é por meio de APIs. Porém, um dos principais desafios para o uso efetivo de uma API é o acesso a uma documentação de fácil compreensão. Vários trabalhos propuseram alternativas para tornar a documentação de APIs mais compreensível, ou até mais detalhada. Entretanto, estes trabalhos ainda não levaram em consideração a complexidade de entendimento dos exemplos para tornar estas documentações adaptáveis a diferentes níveis de experiência de desenvolvedores. Neste trabalho desenvolvemos e avaliamos quatro metodologias diferentes para gerar tutoriais para APIs a partir do conteúdo do Stack Overflow e organizá-los conforme a complexidade de entendimento. As metodologias foram avaliadas por meio de tutoriais gerados para a API Swing. Foi conduzido um survey para avaliar oito diferentes características dos tutoriais gerados. O resultado geral da avaliação dos tutoriais foi positivo nas diversas características, mostrando a viabilidade para o uso de tutoriais gerados automaticamente. Além disso, o uso de critérios para apresentação dos elementos do tutorial por ordem de complexidade, a separação do tutorial em partes básica e avançada, a natureza de tutorial para os posts selecionados e existência de código-fonte didático tiveram resultados significantemente diferentes em relação à metodologia de geração escolhida. Um segundo estudo comparou o uso da documentação oficial da API Android com o uso do tutorial proposto neste trabalho. Foi realizado um experimento controlado com alunos que tiveram um primeiro contato com o desenvolvimento Android, onde estes desenvolveram duas tarefas básicas de programação. Os resultados deste experimento mostraram que na maioria dos casos, os alunos tiveram melhores desempenhos nas tarefas quando utilizaram o tutorial proposto. Os principais motivos do baixo desempenho dos alunos nas tarefas utilizando a documentação oficial da API foram devido à falta de exemplos de uso nesta documentação, além de sua difícil utilização.Universidade Federal de UberlândiaBrasilPrograma de Pós-graduação em Ciência da ComputaçãoMaia, Marcelo de Almeidahttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4791753E8Albertini, Marcelo Keesehttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4184508T7Valente, Marco Tuliohttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723796J1Rocha, Adriano Mendonça2016-08-24T16:58:03Z2016-08-24T16:58:03Z2016-08-05info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfROCHA, Adriano Mendonça. Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow. 2016. 79 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2016. DOI http://doi.org/10.14393/ufu.di.2016.451https://repositorio.ufu.br/handle/123456789/17666http://doi.org/10.14393/ufu.di.2016.451porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFUinstname:Universidade Federal de Uberlândia (UFU)instacron:UFU2020-10-08T20:53:08Zoai:repositorio.ufu.br:123456789/17666Repositório InstitucionalONGhttp://repositorio.ufu.br/oai/requestdiinf@dirbi.ufu.bropendoar:2020-10-08T20:53:08Repositório Institucional da UFU - Universidade Federal de Uberlândia (UFU)false
dc.title.none.fl_str_mv Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
title Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
spellingShingle Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
Rocha, Adriano Mendonça
Computação
Software - Desenvolvimento
Interface de programação de aplicações
Software de aplicação
Redocumentação de APIs
Mineração de Repositórios
Stack Overflow
API Redocumentation
Repositories Mining
Stack Overflow
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
title_full Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
title_fullStr Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
title_full_unstemmed Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
title_sort Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
author Rocha, Adriano Mendonça
author_facet Rocha, Adriano Mendonça
author_role author
dc.contributor.none.fl_str_mv Maia, Marcelo de Almeida
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4791753E8
Albertini, Marcelo Keese
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4184508T7
Valente, Marco Tulio
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723796J1
dc.contributor.author.fl_str_mv Rocha, Adriano Mendonça
dc.subject.por.fl_str_mv Computação
Software - Desenvolvimento
Interface de programação de aplicações
Software de aplicação
Redocumentação de APIs
Mineração de Repositórios
Stack Overflow
API Redocumentation
Repositories Mining
Stack Overflow
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Computação
Software - Desenvolvimento
Interface de programação de aplicações
Software de aplicação
Redocumentação de APIs
Mineração de Repositórios
Stack Overflow
API Redocumentation
Repositories Mining
Stack Overflow
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description One of the most common forms of reuse is through API usage. However, one of the main challenges to effective usage is an accessible and easy to understand documentation. Several papers have proposed alternatives to make more understandable API documentation, or even more detailed. However, these studies have not taken into account the complexity of understanding of the examples to make these documentations adaptable to different levels of experience of developers. In this work we developed and evaluated four different methodologies to generate tutorials for APIs from the contents of Stack Overflow and organizing them according to the complexity of understanding. The methodologies were evaluated through tutorials generated for the Swing API. A survey was conducted to evaluate eight different features of the generated tutorials. The overall outcome of the tutorials was positive on several characteristics, showing the feasibility of the use of tutorials generated automatically. In addition, the use of criteria for presentation of tutorial elements in order of complexity, the separation of the tutorial in basic and advanced parts, the nature of tutorial to the selected posts and existence of didactic source had significantly different results regarding a chosen generation methodology. A second study compared the official documentation of the Android API and tutorial generated by the best methodology of the previous study. A controlled experiment was conducted with students who had a first contact with the Android development. In the experiment these students developed two tasks, one using the official documentation of Android and using the generated tutorial. The results of this experiment showed that in most cases, the students had the best performance in tasks when they used the tutorial proposed in this work. The main reasons for the poor performance of students in tasks using the official API documentation were due to lack of usage examples, as well as its difficult use.
publishDate 2016
dc.date.none.fl_str_mv 2016-08-24T16:58:03Z
2016-08-24T16:58:03Z
2016-08-05
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 ROCHA, Adriano Mendonça. Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow. 2016. 79 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2016. DOI http://doi.org/10.14393/ufu.di.2016.451
https://repositorio.ufu.br/handle/123456789/17666
http://doi.org/10.14393/ufu.di.2016.451
identifier_str_mv ROCHA, Adriano Mendonça. Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow. 2016. 79 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2016. DOI http://doi.org/10.14393/ufu.di.2016.451
url https://repositorio.ufu.br/handle/123456789/17666
http://doi.org/10.14393/ufu.di.2016.451
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.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Uberlândia
Brasil
Programa de Pós-graduação em Ciência da Computação
publisher.none.fl_str_mv Universidade Federal de Uberlândia
Brasil
Programa de Pós-graduação em Ciência da Computação
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFU
instname:Universidade Federal de Uberlândia (UFU)
instacron:UFU
instname_str Universidade Federal de Uberlândia (UFU)
instacron_str UFU
institution UFU
reponame_str Repositório Institucional da UFU
collection Repositório Institucional da UFU
repository.name.fl_str_mv Repositório Institucional da UFU - Universidade Federal de Uberlândia (UFU)
repository.mail.fl_str_mv diinf@dirbi.ufu.br
_version_ 1813711539130073088