1. Crowd cookbooks: usando conhecimento de multidão a partir de sítios de perguntas e respostas para documentação de apis
- Author
-
Lucas Batista Leite de Souza, Maia, Marcelo de Almeida, Macêdo, Autran, and Valente, Marco Túlio de Oliveira
- Subjects
Service (systems architecture) ,Relation (database) ,Questions and answers sites ,Computer science ,media_common.quotation_subject ,CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO [CNPQ] ,Reuse ,Language Integrated Query ,Interface para programação de aplicativos ,World Wide Web ,Documentation ,Sítios de perguntas e respostas ,Documentação de software ,Quality (business) ,Application programming interface, Software documentation ,media_common ,computer.programming_language ,Application programming interface ,business.industry ,Software development ,Crowd knowledge ,Interfaces de programação de aplicativo (software de computador) ,Crowdsourcing ,Conhecimento da multidão ,business ,computer - Abstract
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
- Published
- 2021
- Full Text
- View/download PDF