Recommending software experts using code similarity and social heuristics
نویسندگان
چکیده
Successful collaboration among developers is crucial to the completion of software projects in a Distributed Software System Development (DSSD) environment. We have developed an Expert Recommender System Framework (ERSF) that assists a developer (called the “Active Devel- oper”) to find other developers who can help them to fix code with which they are having difficulty. The ERSF first looks for other developers with similar technical expertise, as measured by their prior work on code fragments that are similar to (clones of) the code that the Active Developer is working on (the “code at hand”). As well, it analyzes the other developers’ social relationships with the Active Developer (available from the DSSD environment) and their social activities within the ERSF (information which helps to maintain developer profiles used in this analysis). This information is then combined to provide a ranked list of potential helpers based on both technical and social measures. A proof of concept experiment shows that the ERSF can recommend experts with good to excellent accuracy, when compared with human rankings of appropriate experts in the same scenarios
منابع مشابه
End-to-end Deep Learning of Optimization Heuristics
Accurate automatic optimization heuristics are necessary for dealing with the complexity and diversity of modern hardware and software. Machine learning is a proven technique for learning such heuristics, but its success is bound by the quality of the features used. These features must be hand crafted by developers through a combination of expert domain knowledge and trial and error. This makes...
متن کاملUsing heuristics to estimate an appropriate number of latent topics in source code analysis
Latent Dirichlet Allocation (LDA) is a data clustering algorithm that performs especially well for text documents. In natural-language applications it automatically finds groups of related words (called “latent topics”) and clusters the documents into sets that are about the same “topic”. LDA has also been applied to source code, where the documents are natural source code units such as methods...
متن کاملPersonalized Tag Recommendations via Tagging and Content-based Similarity Metrics
This short paper describes a novel technique for generating personalized tag recommendations for users of social bookmarking sites such as del.icio.us. Existing techniques recommend tags on the basis of their popularity among the group of all users; on the basis of recent use; or on the basis of simple heuristics to extract keywords from the url being tagged. Our method is designed to complemen...
متن کاملUsing Social Media for Ontology Enrichment
In order to support informal learning, we complement the formal knowledge represented by ontologies developed by domain experts with the informal knowledge emerging from social tagging. To this end, we have developed an ontology enrichment pipeline that can automatically enrich a domain ontology using: data extracted by a crawler from social media applications, similarity measures, the DBpedia ...
متن کاملDynamically recommending design patterns
Recommendation Systems for Software Engineering are created for a variety of purposes, such as recommending sample code or to call attention to bad coding practices (code smells). We have created a system to recommend the use of design patterns. While many programmers have knowledge of design patterns, whether rushed to meet deadlines, inexperienced in their implementations, or unaware of a par...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014