Summarizing Software API Usage Examples using Clustering Techniques

Nikolaos Katirtzis, Themistoklis Diamantopoulos, Charles Sutton

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

As developers often use third-party libraries to facilitate software development, the lack of proper API documentation for these libraries undermines their reuse potential. And although several approaches extract usage examples for libraries, they are usually tied to specific language implementations, while their produced examples are often redundant and are not presented as concise and readable snippets. In this work, we propose a novel approach that extracts API call sequences from client source code and clusters them to produce a diverse set of source code snippets that effectively covers the target API. We further construct a summarization algorithm to present concise and readable snippets to the users. Upon evaluating our system on software libraries, we indicate that it achieves high coverage in API methods, while the produced snippets are of high quality and closely match handwritten examples.
Original languageEnglish
Title of host publicationProceedings of the 21st International Conference on Fundamental Approaches to Software Engineering
Place of PublicationThessaloniki, Greece
PublisherSpringer, Cham
Pages189-206
Number of pages17
Volume10802
ISBN (Electronic)978-3-319-89363-1
ISBN (Print)978-3-319-89362-4
DOIs
Publication statusPublished - 2018
Event21st International Conference on Fundamental Approaches to Software Engineering - Thessaloniki, Greece
Duration: 14 Apr 201820 Apr 2018
https://www.etaps.org/index.php/2018/fase

Publication series

NameLecture Notes in Computer Science (LNCS)
PublisherSpringer, Cham
Volume10802
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference21st International Conference on Fundamental Approaches to Software Engineering
Abbreviated titleFASE 2018
CountryGreece
CityThessaloniki
Period14/04/1820/04/18
Internet address

Fingerprint

Dive into the research topics of 'Summarizing Software API Usage Examples using Clustering Techniques'. Together they form a unique fingerprint.

Cite this