kirancodes.me
To Proof Maintenance & Beyond!

Supporting software developers with a holistic recommender system

Luca Ponzanelli, Simone Scalabrino, Gabriele Bavota, Andrea Mocci, Rocco Oliveto, Massimiliano Di Penta, Michele Lanza

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},
}

Related papers