Evaluating the Evaluations of Code Recommender Systems: A Reality Check

by Sebastian Proksch, Sven Amann, Sarah Nadi, and Mira Mezini


While researchers develop many new exciting code recommender systems, such as method-call completion, code-snippet completion, or code search, an accurate evaluation of such systems is always a challenge. We analyzed the current literature and found that most of the current evaluations rely on artificial queries extracted from released code, which begs the question: Do such evaluations reflect real-life usages? To answer this question, we capture 6,189 fine-grained development histories from real IDE interactions. We use them as a ground truth and extract 7,157 real queries for a specific method-call recommender system. We compare the results of such real queries with different artificial evaluation strategies and check several assumptions that are repeatedly used in research, but never empirically evaluated. We find that an evolving context that is often observed in practice has a major effect on the prediction quality of recommender systems, but is not commonly reflected in artificial evaluations.



@inproceedings {PANM16.2,
  title = {{Evaluating the Evaluations of Code Recommender Systems: A Reality Check}},
  author = {Proksch, Sebastian and Amann, Sven and Nadi, Sarah and Mezini, Mira},
  booktitle = {{Proceedings of the 31st International Conference on Automated Software Engineering}},
  series = {ASE 2016},
  year = {2016},
  doi = {10.1145/2970276.2970330},
  url = {http://dx.doi.org/10.1145/2970276.2970330},