Towards building effective predictive model in software engineering: A Bayesian belief network based approach | | Posted on:2011-10-30 | Degree:Ph.D | Type:Dissertation | | University:The University of Texas at Dallas | Candidate:Tang, Yan | Full Text:PDF | | GTID:1448390002952239 | Subject:Engineering | | Abstract/Summary: | PDF Full Text Request | | A wide range of important software engineering problems need solutions that involve accurate predicting outcomes, such as the number of defects in a module, the estimated project cost, or deciding the best software process to use. Bayesian Belief network (BBN) is a graphical presentation of probability distributions. It is a powerful tool within machine learning and statistics analysis. The BBN has a wide range of applications in many different areas and is an ideal candidate to be the predictive model for solving software engineering problems. Given a data set, it is critical to know how to learn the BBN from it. BBN structure learning algorithms (BBN-SLAs) identify the BBN's structure and enable automatic BBN construction from data. However, a recent comprehensive survey on accuracy and sensitivity of these learning algorithms is lacking. In this work, state-of-the-art learning algorithms are reviewed and compared. In an effort to reach more solid conclusions regarding their differences in accuracy and their sensitivity to noise, seven learning algorithms are fully analyzed and compared in the empirical study. Improvement techniques are further proposed to enhance the BBN structures learned by different BBN-SLAs.;After identifying accurate BBN-SLAs and finding techniques to enhance them, predictive models can be built to solve problems in software engineering using historical data. In this study, we first build a BBN based predictive model for requirement engineering (RE) techniques selection. This model takes the characteristics of a given project as input, and then recommends a set of suitable RE techniques. It contains a questionnaire, a BBN and a GUI user interface. Secondly, we combine two Bayesian classifiers---Naive Bayes and BBN, to build a new predictive model called HDC (Hybrid Dynamic Classifier) for various software engineering data sets (SEDS). HDC is capable of probabilistic reasoning in different software engineering domains. HDC dynamically selects an accurate classifier, either BBN or NB, based on a dependency analysis on the SEDS. HDC is validated using 10 small publicly available SEDS, involving a total of 13 class variables. A selection accuracy of 85% is achieved. The classification accuracy of HDC outperforms several baseline classifiers.;This dissertation systematically explores the process of building effective predictive models in software engineering. It sheds light on the interdisciplinary research of data mining and software engineering. | | Keywords/Search Tags: | Software engineering, Predictive model, BBN, HDC, Data, Learning algorithms, Bayesian | PDF Full Text Request | Related items |
| |
|