Symp AB
Symp AB
Outline
Introduction to Bayesian Networks Existing models in software engineering Research designs Software effort estimation Proposed model
Bayesian Network
Xn Xq
Bayesian Inference
Inference of probability distribution based on Likelihood The process to learn the posterior probability of a variable is inference
X2
X4
X5
X3
Bayesian Network
A network containing probability distribution of nodes, the posterior probability is calculated based on Bayesian inference.
X1
Inference Mechanism
Bucket Elimination
We start with a set V of tables, and whenever we wish to marginalize a variable X, we take from V all tables with X in their domains. Calculate the product of them, marginalize X out of it, and place the resulting table in V.
X B A Y|X
Inference algorithms
A large tree is developed Joint distribution calculated based on Bucket elimination JPD of first time slice t0 Then children of t1 are added Parent t0 is marginalized
Frontier Algorithm
Learning
Categories and Techniques Known Data Observable Maximum Likelihood Log likelihood Gaussian approximation MAP. Heuristic Search, greedy search, Monte Carlo methods, Best first search Scoring Partial EM (expectation maximization) Gradient ascent.
Structure
Unknown
Parameter Learning
Kalman Filter Markov Models Hidden Markov Models Dynamic Bayesian Networks
Intangible factors Virtual product Complexity Estimate >>> Plan Assessment >>> Tracking Re Estimate >>>> New Plan Uncertainty >>> Wrong Plan
Mini Projects Interdependence Multiple work flows Project planning after each iteration Productivity
Curve of Uncertainty
Problem Identification
Multiple Process Cycles Uncertainty Historical data Organizational Data Expert Opinion Multiple Evidences Project Related Data
Research Question
How can we successfully apply the BBN approach to learn and estimate development effort in software projects that follow an Iterative and Incremental approach?
Research Objectives
Learning team productivity from completed iterations and using the learned information to predict for future can improve effort estimation in Iterative and Incremental development software development project. Bayesian Networks Provides the practical technique to estimate effort, incorporate both uncertainty and learning from past experience. Bayesian networks can be designed for effort estimation in Iterative software development using knowledge of the causal relationships between attributes.
Research Method
Structural Development
To identify the factors and develop a structural graph to show the dependencies among different factors.
Parameter Estimation
This step represents the quantitative component of a BN, which results in conditional probabilities, obtained via Expert Elicitation or automatically, which quantify the relationships between variables Test the real data of projects Implement in real time projects
Model Validation
Model Evolution
Not one model A series of models Each model is enhancement of earlier Different features of BN explored Variety of data M1, M2, M3, M4, M5, M6, MMMI
Proposed Model: M2
Observed Value
Proposed Model: M3
b1D b 2 L b3 A b 4O C ! w1D wy ( w2 L wx ( w3 A w4O)) C
Results
MRE results
Sum MRE Bias M2-Mean M2-Median Model M3-Mean M3-Median Estimate Checker -100 -80 -60 Bias -40 -20 0 Sum MRE Bias
12.5 30
30
30
30
10.0 5 19 19 7.5 30 45 19 5 19 5
5 19
1 69
5 69 1 1 69 45 8 40 1 28 69 45 62
5.0 1 69 40 45 2.5 45
0.0
M2-Median
M2-Mean
Estimate Checker
M3-Mean
M3-Median
Proposed Model: M4
Proposed Model: M5
Publications
Abou Bakar Nauman, Open Source Based Generic Solution for E-Health and m-health in Pakistan: Concept Models and Research Roadmap , Accepted at ICOSST 2011(23-25 Dec), UET Lahore, Pakistan Abou Bakar Nauman, Software Effort Estimation Framework in Iterative and Incremental Development; Issues and Proposed Solution accepted at 3rd SAICON: International Conference on Management, Business Ethics and Economics (ICMBEE), December 28-29, 2011. Pearl-Continental Hotel Lahore, Pakistan
Summary
Benefits of Bayesian Networks Increased application is software engineering Need of multi-iteration estimation model Proposed model