Publicação: Documentação automatizada de APIs com tutoriais gerados a partir do Stack Overflow
Carregando...
Tipo do documento
Data
Direito de acesso
Área do conhecimento
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Título da Revista
ISSN da Revista
Título de Volume
Autores
Orientador
Coorientador
Resumo
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.
Palavras-chave
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
Citação
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