Recommender Systems in Software Engineering

The increasing number of open-source projects and the easy applicability of different machine learning approaches started a new movement in the software engineering community. “Integrated Development Environments” (IDE) are no longer just simple build tools, they now understand the goal of the developer. Special recommender systems can actively support developers during their work.

In this seminar, we will investigate the current state in the research of recommender systems and their effects on modern software engineering. The seminar is a basic introduction to the topic. We are going to discuss several approaches and compare them. We will also have a critical view on cross-cutting concerns like the evaluation of such systems.

This is a discussion seminar with weekly meetings. In each meeting, we discuss a scientific article. The following weekly activities are required:

  • reading a scientific article
  • writing a short summary (max. 1 page)
  • active participation in the discussion of the content

The focus of the seminar is the discussion. Therefore, the major part of the final grade is based on active participation.

Since we have so many participants, please print your summary and bring it to the meeting!

Course Information



Course Type

Seminar (3CP)


Sven Amann, Sebastian Proksch


Please register in TUCAN. To ensure an interactive and productive seminar, we have to limit the number of participants to approx. 15. Therefore, attending the kick-off meeting is obligatory.


April 15, 2015, 16:15-17:00 in A313


Wednesdays, 15:20 - 17:00 in A313 (exceptions see below!)




15.04. – A313 – 16:15 – Kick-off (slides)

22.04. – A313 – 15:20 – Recommender Systems for Software Engineering (Robillard, Walker, Zimmermann)

29.10. – A213 – 15:20 – Using Structural Context to Recommend Source-Code Examples (Holmes, Murphy)

06.05. – A313 – 13:30 – Jungloid mining: helping to navigate the API jungle (Mandelin et al.)

13.05. – A313 – 15:20 – Graph-based mining of multiple object usage patterns (Nguyen et al.)

20.05. – A313 – 15:20 – Data Mining Static Code Attributes to Learn Defect Predictors (Menzies et al.)

27.05. – A313 – 15:20 – Software Bug Localization with Markov Logic (Zhang et al.)

03.06. – A313 – 15:20 – Automatic Parameter Recommendation for Practical API Usage (Zhang et al.)

10.06. – A313 – 15:20 – No meeting (TU Meet & Move)

17.06. – A313 – 15:20 – Intelligent Code Completion with Bayesian Networks (Proksch et al.)

24.06. – A313 – 15:20 – Cancelled (organizational conflict, sorry for the short notice!)

01.07. – A313 – 15:20 – Live API Documentation (Subramanian et al.)

08.07. – A313 – 15:20 – How Can I Use This Method? (Moreno et al.)

15.07. – A213 – 15:20 – Open discussion about all above papers. Pick an aspect from the papers or our discussions that you find particularly interesting, problematic, or important. Prepare to discuss that point (0.5-1 page essay): What is it? Why is it of interest? What's your opinion/idea about it?