Developers of reusable software elements, such as libraries, usually have the responsibility
to provide comprehensive and high quality documentation to enable eective reuse
of those elements. The eective reuse of libraries depends upon the quality of the API
(Application Program Interface) documentation. Well established libraries typically have
comprehensive API documentation, for example in Javadocs. However, they also typically
lack examples and explanations, which may dicult the eective reuse of the library.
StackOverow.com (SO) is a Question and Answer service directed to issues related
to software development. In SO, a developer can post questions related to a programming
topic and other members of the site can provide answers to help him/her solve the problem
he/she has at hand. Despite of the increasing use of SO by the software development
community, the information related to a particular library is spread along the website.
Thus, SO still lacks an organization of its crowd knowledge.
In this dissertation, we present a semi-automatic approach that organizes the information
available on SO in order to build a kind of documentation for APIs, called cookbooks
(recipe-oriented books). The cookbooks generated by the approach are called crowd cookbooks.
In order to evaluate the proposed approach, cookbooks were generated for three APIs
widely used by the software development community: SWT,LINQ and QT. Desired features
that cookbooks must meet were identied and a study with human subjects was
conducted to assess to what extent the generated cookbook meet those features. Through
the study it was also possible to identify what is the perceived usefulness by the subjects in
relation to the use of cookbooks in APIs learning. The results showed that the cookbooks
built using the proposed strategy, in general, meet the identied features. Furthermore,
most human subjects considered that cookbooks do not have an appropriate format to
the learning of APIs. / Desenvolvedores de elementos reusáveis de software, como as bibliotecas, em geral
têm a responsabilidade de disponibilizar documentação abrangente e de alta qualidade
para permitir o reuso efetivo desses elementos. O reuso efetivo de bibliotecas depende
da qualidade da documentação da API (Interface para Programação de Aplicativos).
Bibliotecas bem estabelecidas tipicamente têm documentação abrangente, por exemplo
em Javadocs. Porém, essa documentação geralmente carece de exemplos e explicações, o
que pode dicultar o reuso efetivo da biblioteca.
Stackoverow.com (SO) é um serviço de perguntas e respostas (Q&A) direcionado a
questões relacionadas ao desenvolvimento de software. No SO, um desenvolvedor pode
postar perguntas relacionadas a um tópico de programação e outros membros do site
podem disponibilizar respostas para ajudá-lo a resolver o problema que ele tem em mãos.
Apesar da utilização crescente do SO pela comunidade de desenvolvimento de software,
a informação relação a um biblioteca está espalhada ao longo do site. Assim, o SO ainda
carece de uma organização do crowd knowledge nele contido.
Nessa dissertação, será apresentada uma abordagem semi-automatizada que organiza
a informação disponível no SO para a construção de um tipo de documentação para
APIs, conhecido por cookbooks (livros orientados a receitas). Os cookbooks produzidos
pela abordagem proposta são chamados crowd cookbooks.
Para avaliar a abordagem proposta foram gerados cookbooks para três APIs amplamente
utilizadas pela comunidade de desenvolvimento de software: SWT, LINQ e QT.
Foram identicadas características desejáveis de cookbooks e realizado um estudo com
sujeitos humanos para entender em que grau os cookbooks construídos atendem a estas
características. Por meio estudo também foi possível compreender melhor os pers de
uso dos cookbooks mais apropriados em relação ao aprendizado de APIs. Os resultados
mostraram que os cookbooks construídos pela estratégia proposta, em geral, atendem às
características identicadas. Além disso, a maior parte dos sujeitos humanos considerou
que cookbooks não possuem um formato adequado ao aprendizado de APIs. / Mestre em Ciência da Computação
Identifer | oai:union.ndltd.org:IBICT/urn:repox.ist.utl.pt:RI_UFU:oai:repositorio.ufu.br:123456789/12567 |
Date | 23 July 2014 |
Creators | Souza, Lucas Batista Leite de |
Contributors | Maia, Marcelo de Almeida, Macêdo, Autran, Valente, Marco Túlio de Oliveira |
Publisher | Universidade Federal de Uberlândia, Programa de Pós-graduação em Ciência da Computação, UFU, BR, Ciências Exatas e da Terra |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Repositório Institucional da UFU, instname:Universidade Federal de Uberlândia, instacron:UFU |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0138 seconds