Extracting examples for API usage patterns

Carregando...
Imagem de Miniatura

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

Membros da banca

Eduardo Magno Lages Figueiredo
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

Citação

Departamento

Curso

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por