Font Size: a A A

Research On Software Process Mining Using Software Repository

Posted on:2013-02-27Degree:MasterType:Thesis
Country:ChinaCandidate:B C DuanFull Text:PDF
GTID:2218330362959397Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software is getting more and more complex with the accumulation of technology and the fluctuation of requirements. It is hard and challenging that the software should be completed in required time within the budget with the accepted quality. Software practitioners choose to apply engineering methodology to lead the way of developing and maintaining the softwares. Both traditional (such as Waterfall Model) and innovational (such as Agile Model) process models of software lifecycle are accepted in the software industry. However, majority of software engineers tend to develop and maintain software on oral contracts and are reluctant to model first. What's more, the models that are built already may differ from the running process. These questions pose difficulty to the enterprises who need to discover, mine, and improve software process model in order to develop with higher efficiency and ensure the quality.This paper focuses on the software process mining technology based on the software repository(such as Software Configuration Management System, Defect Tracking System and Project Management Software), in order to help the software enterprise to observe the actual software process conveniently, to conduct some analysis to find potential problems and to complete value improvements accordingly. The detail work is as follows:1) This paper analyzes the role of software process in the software development and application. This paper studies the software quality, process maturity, summarizes the technology and application of software repository, and learns the method to acquire the information needed. This paper studies the visualization of Petri Net model and comes to a conclusion : every place or transition has pre-list and post-list, thus a data structure appropriate to store the pre-list and post-list is required when the model is been built. The sequence also needs to be stored.2) This paper proposes a brand new algorithm for software process mining. Based on the information with two time-stamps, the formal definition of sequence between activities is given, and this algorithm is able to discover the parallel relation of activities, which determines the sequence of activities. According to the Petri Net, this algorithm applies List and Hashtable to store relevant information, so the modeling can be finished. 3) This paper describes the design and implementation of the software process mining tool. Named Process Miner, this tool comprises of three parts: event log processing module, process mining module and model visualization module. The tool is implemented in Java.4) This paper tests the algorithm and tool. Using data from simulation and real process, the algorithm and tool are tested thoroughly. The result shows that the algorithm and tool is useful and effective to discover and model both sequential and parallel process.Compared to the former work, the software process mining algorithm and tool take into consideration that the activity does not complete in an instant, but needs time to run from the beginning to end. In a word, the algorithm and tool model the process with more accurately.
Keywords/Search Tags:Software Process, Mining, Petri Net, Process Modeling
PDF Full Text Request
Related items