Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
Autor(a) principal: | |
---|---|
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 |