Font Size: a A A

Research On The Behavior Of Open Source Platform Software Development Based On Supervised Learning

Posted on:2017-08-23Degree:MasterType:Thesis
Country:ChinaCandidate:Y C ChenFull Text:PDF
GTID:2348330518970790Subject:Engineering
Abstract/Summary:
The advent of distributed version control systems has led to the development of a new paradigm for distributed software development; instead of pushing changes to a central repository, developers pull them from other repositories and merge them locally. Github, has tapped on the opportunity to facilitate pull-based development by offering workflow support tools, such as code reviewing systems and integrated issue trackers. One of the most fundamental feature that allows non-listed collaborators to contribute to a repository is a pull request. A pull request is a formal request from a potential contributor to a project owner to have his/her code improvements incorporated into the codebase.In recent years, with its rapid development, big data has aroused widespread concern in the world. Large scale data often contains deep knowledge and value that people can not explore from small scale data, meanwhile, only the machine learning techniques can be applied to extract the deep knowledge from big data. In this paper, I aim to use machine learning techniques to glean insights into what contributes to a successful pull request. I use logistical regression, random forest and support vector machine to construct the classification model. As the existing SVM algorithm has problem in the process of parameter optimization of kernel function,this paper will improve the efficiency of the grid search algorithm.The main innovations and research contents involve as follows:Firstly, through consultation of related work in the fields of patch submission, bug triaging, code reviewing and distributed collaboration, this paper adds these three features,test coverage, the pull request acceptance rate for the repository and the pull request success rate for the contributor, into the set of suitable candidate features and want to obtain a set of features with maximum predictive power.Secondly, it analyzes the performance of SVM training and several important factors of SVM performance. The advantages and disadvantages of the grid search method are analyzed. Combined with the parameter’s spatial distribution characteristics of SVM kernel function parameter, a new kernel function parameter selection method- GDPS is proposed by theoretical demonstration and experimental comparisons in this paper.
Keywords/Search Tags:pull request, distributed software development, GitHub, machine learning, supervised learning
Related items