Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/17666
Document type: Dissertação
Access type: Acesso Aberto
Title: Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
Author: Rocha, Adriano Mendonça
First Advisor: Maia, Marcelo de Almeida
First member of the Committee: Albertini, Marcelo Keese
Second member of the Committee: Valente, Marco Tulio
Summary: 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.
Abstract: 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.
Keywords: 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
Area (s) of CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Language: por
Country: Brasil
Publisher: Universidade Federal de Uberlândia
Program: Programa de Pós-graduação em Ciência da Computação
Quote: 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
Document identifier: http://doi.org/10.14393/ufu.di.2016.451
URI: https://repositorio.ufu.br/handle/123456789/17666
Date of defense: 5-Aug-2016
Appears in Collections:DISSERTAÇÃO - Ciência da Computação

Files in This Item:
File Description SizeFormat 
DocumentacaoAutomatizadaAPIs.pdfDissertação1.79 MBAdobe PDFThumbnail
View/Open


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