Publication Type

Conference Proceeding Article

Version

publishedVersion

Publication Date

10-2013

Abstract

Many third party libraries are available to be downloaded and used. Using such libraries can reduce development time and make the developed software more reliable. However, developers are often unaware of suitable libraries to be used for their projects and thus they miss out on these benefits. To help developers better take advantage of the available libraries, we propose a new technique that automatically recommends libraries to developers. Our technique takes as input the set of libraries that an application currently uses, and recommends other libraries that are likely to be relevant. We follow a hybrid approach that combines association rule mining and collaborative filtering. The association rule mining component recommends libraries based on a set of library usage patterns. The collaborative filtering component recommends libraries based on those that are used by other similar projects. We investigate the effectiveness of our hybrid approach on 500 software projects that use many third-party libraries. Our experiments show that our approach can recommend libraries with recall rate@5 of 0.852 and recall rate@10 of 0.894.

Keywords

collaborative filtering, data mining, software reliability

Discipline

Library and Information Science | Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

2013 20th Working Conference on Reverse Engineering (WCRE 2013): Proceedings: Koblenz, Germany, 14-17 October 2013

First Page

182

Last Page

191

ISBN

9781479929320

Identifier

10.1109/WCRE.2013.6671293

Publisher

IEEE

City or Country

Piscataway, NJ

Additional URL

http://dx.doi.org/10.1109/WCRE.2013.6671293

Share

COinS