Utilize este identificador para referenciar este registo: http://hdl.handle.net/10071/14851
Autoria: Ferreira, Henrique Manuel da Costa Gomes
Orientação: Santos, André L
Data: 2017
Título próprio: Type relationship graphs for exploring APIs
Referência bibliográfica: 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>.
Palavras-chave: 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
Resumo: 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
Designação do grau: Mestrado em Engenharia Informática
Arbitragem científica: yes
Acesso: Acesso Aberto
Aparece nas coleções:T&D-DM - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Dissertação - Henrique Ferreira (37808).pdf1,43 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpaceOrkut
Formato BibTex mendeley Endnote Logotipo do DeGóis Logotipo do Orcid 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.