Font Size: a A A

Data-Driven Software Development Process Mining And Analysis

Posted on:2017-05-05Degree:DoctorType:Dissertation
Country:ChinaCandidate:R ZhuFull Text:PDF
GTID:1108330488459581Subject:Systems analysis and integration
Abstract/Summary:PDF Full Text Request
"Software defined anything" has been making a profound impact on the entire industry. The demand for software is growing without any interruption. Software process model phays an important role in ensuring the development of high quality and efficient software products. But in traditional process modeling, it has brought a series of problems, such as difficultly obtaining models, the complexity of modeling steps, the accuracy of the modeling results and so on. Therefore, in the era of big data, traditional software process modeling approaches cannot meet the needs of nowadays model obtaining in the software engineering field. How to automatically acquire process models from the knowledge with big data characteristics which existing in software development organizations has become the current hotspot for software process research.The thesis researchs on the software development process data without properties of activity and case, proposes a bi-layer process mining framework, and mainly focus on the solutions to four scientific problems:the problem on extracting activity from process log, the single-instance problem due to deficiency of instances, the problem of effectively mining development process of complex behaviors, process discovery based on software process repository. Specifically, it is expanded from the following four aspects:(1) In the aspect of mining activity layer, a weighted structured linked vector mode is proposed to vectorize the process log. The result of fuzzy clustering, which can be regarded as activity information, is determined by the average activity entropy.(2) In the aspect of dividing loop instance of single firing sequence, the correctness of dividing is proved, and it is proposed that the heuristic evaluation approach is improved to discover the loop in the single firing sequence. The result of dividing can be regarded as case information.(3) In the matter of process mining algorithm, according to the characteristics of the software development process, event log was transformed into Directly-Follow Graph with occurrence number, firstly. Then by judging the relationship pattern between activities, process trees and basic blocks are used to update log and graph recursively until all the basic structures are found. Lastly, the approach of parallel multi-thread is used to speed up the search.(4) In terms of discovering the process model based on software process repository, they are proposed to build software process index based on process tree and measure process model similarity based on editing distance of process tree in the process layer, and to decompose an activity into several related sub-activities by building knowledge base for functional decomposition in the activity layer.In summary, the above research contents are verified via a lot of experiments and cases based on real data, the purpose of the thesis is to lay a theoretical foundation for software development process mining and establishes a bridge between process mining and process management. There is great significance in science and application value to research how to improve the quality and productivity of software products.
Keywords/Search Tags:Software Process System, Software Development Process Mining, Process Mining Approach and Theory, Software Process Repository, Software Process Improvement
PDF Full Text Request
Related items