How to efficiently and accurately realize automatic bug triage is a difficult issue in the bug management of open-source software.And has always been a hot issue in the field of software maintenance.Many researchers have proposed various methods.Existing methods often ignore the time-series characteristics of historical fixing data,and input the data of several years or even ten years into the model uniformly.Learning the statistical laws between the bug and developers matching in historical data to recommend developers for new bug.However,the developers’ focus on the project and the knowledge they are good at are changing during their participation in the project.Only relying on macro statistical laws cannot accurately express the matching situation between the bug and the developer currently.The accurate bug triage depends on precise match between the knowledge need of bug and current professional capabilities of developers.Therefore,this paper starts from the perspective of building a capability growth model of developers,and studies how to accurately construct the developer’s current capability representation,so as to realize accurate bug triage.The main contributions of this paper include:First: Most of the existing methods recommended developers for bug based on statistical laws,and less improved the accuracy of bug triage from the perspective of matching the knowledge need of bug and the professional capabilities of developers,and do not considered the current knowledge of developers and focus.This paper proposes an automatic bug triage method based on the temporal representation of developer’s knowledge(Triage-TRDK).Firstly,the initial developers recommendation list is obtained by the first assignment methods.Secondly,based on their focus recently,learn the knowledge that developers are good at.And characterize their current professional capabilities based on their history of bug fixing and forgetting function.Finally,optimize and adjust the initial developers recommendation list by matching the knowledge requirements of bug and the professional capabilities of developers with the similarity.The comparison experiments with the first assignment methods and other optimization adjustment methods were carried out on the Eclipse and Mozilla datasets.The experimental results show that the method of this paper can significantly improve the recommendation accuracy,and the method of this paper can recommend the fixer as soon as possible.Which proves that the capability growth model of developers has an obvious effect on optimizing the initial developer recommendation list and improving the accuracy of defect assignment.Second: Aiming at the problem in the first work of this paper: When describing the professional capabilities of developers,the collaborative relationship between developers contained in the tossing path is ignored.This paper proposes an automatic bug triage method that integrates the temporal knowledge representation of developers in a collaborative environment(Triage-ITKRDCE).Firstly,select candidate developers for new bug based on their community attributes.Secondly,the tossing paths of all bug are sequentially integrated into a directed acyclic graph under a temporal relationship to construct the graph of developer collaboration relationship.The memory networks is used to represent the capability characteristics of developers in a collaborative environment.The memory networks learn the professional capabilities of developers in a temporal manner based on the graph of developer collaboration relationship,and learn the professional knowledge that they are currently good at by updating the developer’s memory space continuously.Finally,recommend the final developers for the bug based on the matching of the knowledge requirements of the bug and the professional capabilities of the candidate developers.Ablation experiments and comparison experiments are also conducted on the Eclipse and Mozilla datasets.The accuracy on both datasets exceeded the reference methods and the method of first work,reaching90.5% and 72.1% respectively. |