Scaps: Type-directed API Search for Scala

Wegmann, Lukas (2015) Scaps: Type-directed API Search for Scala. Masters thesis, HSR Hochschule für Technik Rapperswil.

[img]
Preview
Text
ma_thesis.pdf - Supplemental Material

Download (1MB) | Preview

Abstract

Reusing existing functionality from legacy code and third party programming libraries is often hard, because the vast number of definitions and the complexity of the APIs require a detailed knowledge of the programming environment. To help developers discovering such functionality when working with a statically typed, object-oriented programming language, we designed an API retrieval system that supports querying indexed APIs with textual keywords and type signatures. The feature of the search engine is inspired by a similar tool for the Haskell programming language called Hoogle. Though, we decided to develop another approach to address the API search problem based on traditional information retrieval techniques which, we argue, is better suited for object-oriented languages. As a proof of concept, we implemented the API retrieval system for the Scala programming language and provided a web-based user interface. Furthermore, we demonstrate how Scala-specific language features like user-defined implicit conversions and implicit parameters can be included into our basic approach. A comparison to a system using only exact matches of partial types of the query shows that the effectiveness of API retrieval can be substantially improved with our approach.

Item Type: Thesis (Masters)
Subjects: Area of Application > Development Tools
Technologies > Programming Languages > C++
Technologies > Frameworks and Libraries > Eclipse
Technologies > Parallel Computing
Metatags > IFS (Institute for Software)
Divisions: Master of Advanced Studies in Human Computer Interaction Design
Creators:
CreatorsEmail
Wegmann, LukasUNSPECIFIED
Contributors:
ContributionNameEmail
Thesis advisorSommerlad, PeterUNSPECIFIED
Depositing User: Christian Spielmann
Date Deposited: 10 May 2016 13:37
Last Modified: 19 May 2016 06:37
URI: http://eprints.hsr.ch/id/eprint/505

Actions (login required)

View Item View Item