A deep learning-based expert finding method to retrieve agile software teams from CQAs. Issue 2 (March 2023) - Rostami, Peyman; Shakery, Azadeh
Abstract: Currently, many software companies are looking to assemble a team of experts who can collaboratively carry out an assigned project in an agile manner. The most ideal members for an agile team are T-shaped experts, who not only have expertise in one skill-area but also have general knowledge in a number of related skill-areas. Existing related methods have only used some heuristic non-machine learning models to form an agile team from candidates, while machine learning has been successful in similar tasks. In addition, they have only used the number of candidates' documents in various skill-areas as a resource to estimate the candidates' T-shaped knowledge to work in an agile team, while the content of their documents is also very important. To this end, we propose a multi-step method that rectifies the drawbacks mentioned. In this method, we first pick out the best possible candidates using a state-of-the-art model, then we re-estimate their relevant knowledge for working in the team with the help of a deep learning model, which uses the content of the candidates' posts on StackOverflow. Finally, we select the best possible members for the given agile team from among these candidates using an integer linear programming model. We perform our experiments on two large datasets C# and Java, which comprise 2, 217, 366 and 2, 320, 883 posts from StackOverflow, respectively. On datasets C# and Java, our method selects, respectively, 68.6% and 55.2% of the agile team members from among T-shaped experts, while the best baseline method only selects, respectively, 49.1% and 40.2% of the agile team members from among T-shaped experts. In addition, the results show that our method outperforms the best baseline method by 8.1% and 11.4% in terms of F-measure on datasets C# and Java, respectively. Highlights: Using a deep learning model to identify relevant T-shaped experts for agile teams. Using integer linear programming to form the best agile team from top candidates. Estimating candidates' T-shaped knowledge by analyzing their temporal profiles. Selecting T-shaped experts for agile teams better than SOTA methods.