Skip navigation
Logo
User training | Reference and search service

Library catalog

Retrievo
EDS
b-on
More
resources
Content aggregators
Please use this identifier to cite or link to this item:

acessibilidade

http://hdl.handle.net/10071/14851
acessibilidade
Title: Type relationship graphs for exploring APIs
Authors: Ferreira, Henrique Manuel da Costa Gomes
Orientador: Santos, André L
Keywords: Engenharia da programação
Modelos de linguagem
Modelos gráficos
Análise estrutural
Software
Aplicação informática
API Usability
Code completion
IDE
Structural analysis
Usabilidade API
Sugestões de código
Issue Date: 2017
Citation: FERREIRA, Henrique Manuel da Costa Gomes - Type relationship graphs for exploring APIs [Em linha]. Lisboa: ISCTE-IUL, 2017. Dissertação de mestrado. [Consult. Dia Mês Ano] Disponível em www:<http://hdl.handle.net/10071/14851>.
Abstract: In the present day, the use of APIs, varying in complexity, size and design are pervasive, in the development of software. They are used to communicate, to log information, to draw charts and a myriad of other purposes. With this increasing importance in API usage, developers often struggle when using an API for the first time and are faced with various API discoverability problems. We propose an approach that aims to help mitigate the discoverability problems by providing code suggestions based on data extracted from structurally analyzing APIs for type relationships. The relationships are stored in a graph, which is used to navigate between the API types. The first steps when using an API are often one of the difficulties that developers face. For this reason, our approach provides API starting points to help the developer kick-start the use of the API. The next stage in API usage usually consists in using API types to access or create other API types. Our approach suggests possible type compositions based on the types available in the current development context. Depending on the API, the amount of extracted relationships can be overwhelming if directly suggested to the developer and for this reason a filtering mechanism and ranking heuristic were created, in order to provide more meaningful suggestions. Our approach was tested by analyzing 5 different APIs and simulating suggestions from the extracted data, comparing those suggestions to API usage examples. The results provide some evidence that our approach is a possible solution to the API discoverability problems and that the structural analysis to a given API can provide considerable amount of the information required to create and deliver suggestions to developers.
Actualmente, o uso de APIs, com diferentes graus de complexidade, tamanho e estrutura, é inevitável no desenvolvimento de software. As APIs são usadas para comunicação, registar informação, desenhar gráficos entre uma miríade de outras funcionalidades. Com este aumento na importância do uso de APIs, os programadores são muitas vezes confrontados com vários problemas de usabilidade quando usam uma API pela primeira vez. Propomos uma abordagem que visa ajudar na mitigação destes problemas através de sugestões de código, obtidas a partir da informação proveniente de uma análise estrutural a APIs que tem como objectivo encontrar relações entre tipos. Estas relações são armazenadas em grafos que irão ser usados para navegar entre os diversos tipos da API. Os primeiros passos de um programador quando usa uma API são, numa boa parte das vezes, uma das fontes de dificuldade. Por esta razão, a nossa abordagem disponibiliza um conjunto de pontos iniciais da API, de forma a auxiliar o programador no uso inicial da mesma. A fase seguinte no uso de uma API normalmente consiste na utilização de tipos da API, de forma a aceder ou criar outros tipos da API. A nossa abordagem sugere possíveis composições de tipos com base na informação do contexto actual de desenvolvimento. Dependendo da API, a quantidade de relações extraídas pode ser avassaladora, se sugeridas directamente ao programador. Para conseguir oferecer sugestões significativas, foi criado um sistema de filtragem e uma heurística de ordenação. A nossa abordagem foi testada analisando 5 diferentes API e simulando sugestões através da informação extraída. Estas sugestões foram comparadas com exemplos de utilização destas APIs. Os resultados evidenciam que a nossa abordagem é uma solução possível para os problemas de usabilidade de APIs, e que a análise estrutural a uma API permite obter o conjunto de informação necessária para gerar e disponibilizar sugestões a programadores
Peer reviewed: yes
URI: http://hdl.handle.net/10071/14851
Thesis identifier: 201738627
Designation: Mestrado em Engenharia Informática
Appears in Collections:T&D-DM - Dissertações de mestrado

Files in This Item:
acessibilidade
File Description SizeFormat 
Dissertação - Henrique Ferreira (37808).pdf1.43 MBAdobe PDFView/Open


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote Currículo DeGóis 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.