Recent Advances in Recommendation Systems for Software Engineering

  • Robert J. Walker
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7906)


Software engineers must contend with situations in which they are exposed to an excess of information, cannot readily express the kinds of information they need, or must make decisions where computation of the unequivocally correct answer is infeasible. Recommendation systems have the potential to assist in such cases. This paper overviews some recent developments in recommendation systems for software engineering, and points out their similarities to and differences from more typical, commercial applications of recommendation systems. The paper focuses in particular on the problem of software reuse, and speculates why the recently cancelled Google Code Search project was doomed to failure as a general purpose tool.


RSSEs overview classification opportunities 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beck, K.: Test Driven Development: By Example. Addison Wesley (2002)Google Scholar
  2. 2.
    Castro-Herrera, C., Duan, C., Cleland-Huang, J., Mobasher, B.: A recommender system for requirements elicitation in large-scale software projects. In: Proc. ACM Symp. Appl. Comput., pp. 1419–1426 (2009)Google Scholar
  3. 3.
    Cossette, B., Walker, R.J.: DSketch: Lightweight, adaptable dependency analysis. In: Proc. ACM SIGSOFT Int. Symp. Foundations Softw. Eng., pp. 297–306 (2010)Google Scholar
  4. 4.
    Cossette, B.E., Walker, R.J.: Seeking the ground truth: A retroactive study on the evolution and migration of software libraries. In: Proc. ACM SIGSOFT Int. Symp. Foundations Softw. Eng., pp. pp. 55/1–55/11 (2012)Google Scholar
  5. 5.
    Cottrell, R., Walker, R.J., Denzinger, J.: Semi-automating small-scale source code reuse via structural correspondence. In: Proc. ACM SIGSOFT Int. Symp. Foundations Softw. Eng., pp. 214–225 (2008)Google Scholar
  6. 6.
    Holmes, R., Walker, R.J.: Customized awareness: Recommending relevant external change events. In: Proc. ACM/IEEE Int. Conf. Softw. Eng., pp. 465–474 (2010)Google Scholar
  7. 7.
    Holmes, R., Walker, R.J., Murphy, G.C.: Approximate structural context matching: An approach to recommend relevant examples. IEEE Trans. Softw. Eng. 32(12), 952–970 (2006)CrossRefGoogle Scholar
  8. 8.
    Hummel, O., Janjic, W., Atkinson, C.: Code Conjurer: Pulling reusable software out of thin air. IEEE Softw. 25(5), 45–52 (2008)CrossRefGoogle Scholar
  9. 9.
    Jannach, D., Zanker, M., Felfernig, A., Friedrich, G.: Recommender Systems: An Introduction. Cambridge University Press (2010)Google Scholar
  10. 10.
    Lemos, O.A.L., Bajracharya, S., Ossher, J., Masiero, P.C., Lopes, C.: A test-driven approach to code search and its application to the reuse of auxiliary functionality. Inf. Softw. Technol. 53(4), 294–306 (2011)CrossRefGoogle Scholar
  11. 11.
    McMillan, C., Hariri, N., Poshyvanyk, D., Cleland-Huang, J., Mobasher, B.: Recommending source code for use in rapid software prototypes. In: Proc. ACM/IEEE Int. Conf. Softw. Eng., pp. 848–858 (2012)Google Scholar
  12. 12.
    Murphy-Hill, E., Jiresal, R., Murphy, G.C.: Improving software developers’ fluency by recommending development environment commands. In: Proc. ACM SIGSOFT Int. Symp. Foundations Softw. Eng., pp. 42/1–42/11 (2012)Google Scholar
  13. 13.
    Reiss, S.P.: Semantics-based code search. In: Proc. ACM/IEEE Int. Conf. Softw. Eng., pp. 243–253 (2009)Google Scholar
  14. 14.
    Robillard, M., Walker, R., Zimmermann, T.: Recommendation systems for software engineering. IEEE Softw. 27(4), 80–86 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Robert J. Walker
    • 1
  1. 1.University of CalgaryCalgaryCanada

Personalised recommendations