Supporting software developers with a holistic recommender system
Abstract
The promise of recommender systems is to provide intelligent support to developers during their programming tasks. Such support ranges from suggesting program entities to taking into account pertinent Q&A pages. However, current recommender systems limit the context analysis to change history and developers' activities in the IDE, without considering what a developer has already consulted or perused, e.g., by performing searches from the Web browser. Given the faceted nature of many programming tasks, and the incompleteness of the information provided by a single artifact, several heterogeneous resources are required to obtain the broader picture needed by a developer to accomplish a task. We present Libra, a holistic recommender system. It supports the process of searching and navigating the information needed by constructing a holistic meta-information model of the resources perused by a developer, analyzing their semantic relationships, and augmenting the web browser with a dedicated interactive navigation chart. The quantitative and qualitative evaluation of Libra provides evidence that a holistic analysis of a developer's information context can indeed offer comprehensive and contextualized support to information navigation and retrieval during software development.
BibTeX
@inproceedings{Ponzanelli-al:ICSE17,
author = {Luca Ponzanelli and
Simone Scalabrino and
Gabriele Bavota and
Andrea Mocci and
Rocco Oliveto and
Massimiliano Di Penta and
Michele Lanza},
title = {Supporting software developers with a holistic recommender system},
booktitle = {ICSE},
pages = {94--105},
publisher = {{IEEE} / {ACM}},
year = {2017},
}