Knowledge discovery, representation and transfer in component-based programming communities
Expertise location and information transfer in computer-supported cooperative programming environments is one of the most important techniques for achieving progressive growth of community knowledge. Help-seeking communities often emerge spontaneously around available platforms with specific goal of optimizing programming experience of not just novice users. Those communities are implemented as asynchronous or synchronous services. Q&A-enabled sites, forums, message boards are all examples of asynchronous help-seeking communities. Synchronous help-seeking communities are using some form of instant messaging for direct exclusive communication channel between those who ask help and those with required expertise.
We are working on models, algorithms and evaluation of mechanisms for location of expertise and knowledge in community of programmers, as well as finding best possible match between individuals who are willing to help solve problems other users are having issues with.
Two main dimensions of out approach are (1) knowledge model and (2) ranking function. Knowledge model is used for expertise calculation for community contributors. In concrete terms, expertise is a set of features calculated for each contributor based on her previous work. Ranking function orders contributors by expertise using knowledge model. Ranking function provides help-seeking user with list of users ordered by calculated success score of potential answer.
Currently, we are working on best model for knowledge discovery and representation which will be implemented as recommender plugin for available consumer programming environments. The next step are detailed user studies and model evaluation in real consumer programming environment.