Repository logo

Experts Recommender System Using Technical and Social Heuristics



Journal Title

Journal ISSN

Volume Title




Degree Level



Nowadays, successful cooperation and collaboration among developers is crucial to build successful projects in distributed software system development (DSSD). Assigning wrong developers to a specific task not only affects the performance of a component of this task but also affects other components since these projects are composed of dependent components. Another aspect that should be considered when teams are built is the social relationships between the members; disagreements between these members also affect the project team’s performance. These two aspects might cause a project’s failure or delay. Therefore, they are important to consider when teams are created. In this thesis, we developed an Expert Recommender System Framework (ERSF) that assists developers (Active Developers) to find experts who can help them complete or fix the bugs in the code at hand. The ERSF analyzes the developer technical expertise on similar code fragments to the one they need help on assuming that those who have worked on similar fragments might understand and help the Active Developer; also, it analyzes their social relationships with the Active Developer as well as their social activities within the DSSD. Our work is also concerned with improving the system performance and recommendations by tracking the developer communications through our ERSF in order to keep developer profiles up-to-date. Technical expertise and sociality are measured using a combination of technical and social heuristics. The recommender system was tested using scenarios derived from real software development data, and its recommendations compared favourably to recommendations that humans were asked to make in the same scenarios; also, they were compared to the recommendations of the NaiveBayes and other machine learning algorithms. Our experiment results show that ERSF can recommend experts with good to excellent accuracy.



recommender system, technical expertise, sociality



Master of Science (M.Sc.)


Computer Science


Computer Science


Part Of