Extracting examples for API usage patterns
Carregando...
Arquivos
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Eduardo Magno Lages Figueiredo
Heitor Augustus Xavier Costa
Humberto Torres Marques Neto
Heitor Augustus Xavier Costa
Humberto Torres Marques Neto
Resumo
Estudos empíricos recentes apontam que a ausência de exemplos de uso constitui um dos principais obstáculos para o uso de APIs. Esta dissertação apresenta então uma extensão da plataforma APIMiner--chamada APIMiner 2.0--que permite a instrumentação de documentações tradicionais de APIs com exemplos de código referentes a métodos que são frequentes chamados em conjunto. Os exemplos providos são sumarizados usando um algoritmo de slicing que considera diversas estratégias para incremento de legibilidade propostas recentemente na literatura. Uma instância da plataforma APIMiner 2.0 foi criada para a API de desenvolvimento do sistema operacional Android. Além disso, a dissertação também reporta uma análise sobre o uso da API Android por centenas de sistemas clientes, um experimento de campo envolvendo o uso de APIMiner por desenvolvedores profissionais e um estudo controlado com 29 participantes.
Abstract
Recent empirical studies show that the lack of usage examples is a major obstacle for using modern APIs. This master dissertation presents an extension of the APIMiner platform--called APIMiner 2.0--that supports the instrumentation of traditional API documents with source code examples on methods that are frequently called together. The provided examples are summarized using a slicing algorithm that considers several strategies recently proposed in the literature to increase readability. An instance of the APIMiner 2.0 platform was implemented for the Android API. Furthermore, the dissertation presents an in-depth analysis on the use of the Android API by hundreds of client systems, a field study involving the use of APIMiner 2.0 by professional developers, and a controlled study with 29 subjects.
Assunto
Engenharia de sofware, Software Reutilização, Computação
Palavras-chave
Padrões de uso, Regras de associação, Compreensão de programas, API, Slicing de programas