Font Size: a A A

Stack Overflow-based Solution Recommendation For Software Exceptions

Posted on:2018-02-02Degree:MasterType:Thesis
Country:ChinaCandidate:X N LiuFull Text:PDF
GTID:2518305966450404Subject:Software engineering
Abstract/Summary:PDF Full Text Request
An exception is a programming language mechanism used to handle special situations that arise in software or information systems.Many modern programming languages,such as Java,C#,etc.,have complete exception handling processes and norms.A common way for developers to deal with these exception-related errors is to use a generic search engine such as Google or Bing to retrieve suggested solutions.However,generic search engines cannot fully understand and deal with the query of the exception information because of the length limitation of the search query and the restriction of the matching algorithm.So their results are often not ideal.Intelligent recommendation on exception handling is one of the hotspots that has been gaining more and more attention in recent years.Through the analysis and model design,we can achieve rapid and intelligent solutions recommendation.However,the traditional recommendation is usually aimed at the generalized program problems,and cannot dig out the characteristics of the exception information itself to achieve more targeted recommendations.Stack Overflow and Git Hub are popular software Q&A communities and open source sharing communities,including many resources about software development,error and exception handling.Based on research results,in Stack Overflow,greater than 20% of the questions and answers are related to the exception and error handling.Therefore,this research has a good research value and application value for the software exception handling,based on the online community resource extraction and integration,to achieve efficient and accurate intelligent solution recommendation and improve the efficiency of software development and exception handling.To realize the recommendation,this paper presents a solution recommendation algorithm for software thrown exceptions based on Stack Overflow.The solution consists of two parts,the online thread recommendation,and the community expert recommendation.By analyzing the unique association and structured information of program exceptions,an exception resource tree is constructed.The features related to exception resource tree are proposed,and exception-related errors as well as the community experts are modeled.Support vector machine algorithm and learn to ranking algorithms are adopted to train the model based on a large amount of community data,and then the intelligent recommendation is realized through the trained model.Considering that Stack Overflow and Git Hub are widely used in industry and academia,this paper chooses them as the research object and data.The contributions of this paper include:(1)By analyzing the association structure of exception stack,mining the inheritance relationship among exception types,this paper proposes an association algorithm among exception-related resources,constructs an exception resource tree,and mounts the cross-domain resources of Stack Overflow and Git Hub in the same system structure.(2)Three different types of association features are proposed,including lexical feature,program feature and exception resource tree feature.Supervised machine learning model training is carried out,and the intelligent recommendation for the exception threads is realized.(3)Two different types of association features based on interest matching and ability matching are proposed to model the software exception errors and community experts,and finally the intelligent recommendation of Stack Overflow experts for exception repair is realized.(4)Extraction and analysis of Stack Overflow and Git Hub online data,and carried out a wealth of experimental comparison and analysis.The experimental results show that the proposed method has obvious advantages in terms of average retrieval precision,average reciprocal rank and recall than related works.
Keywords/Search Tags:recommendation system, program exception, bug fix, StackOverflow, GitHub
PDF Full Text Request
Related items