SlideShare a Scribd company logo
1 of 50
Download to read offline
Should We Consider Affected Releases?
Dr. Chakkrit (Kla) Tantithamthavorn
Mining Software Defects
Monash University, Australia.
chakkrit.tantithamthavorn@monash.edu
@klainfohttp://chakkrit.com
Suraj Y. Jirayus J. Patanamon T.
ANALYTICAL MODELS FOR SOFTWARE DEFECTS
Focus on predicting, explaining future software defects, and building empirical theories
Predicting future software
defects so practitioners
can effectively optimize
limited resources
ANALYTICAL MODELS FOR SOFTWARE DEFECTS
Focus on predicting, explaining future software defects, and building empirical theories
Predicting future software
defects so practitioners
can effectively optimize
limited resources
Explaining what makes a
software fail so managers
can develop the most
effective improvement plans
ANALYTICAL MODELS FOR SOFTWARE DEFECTS
Focus on predicting, explaining future software defects, and building empirical theories
Predicting future software
defects so practitioners
can effectively optimize
limited resources
Building empirical-
grounded theories of
software quality
Explaining what makes a
software fail so managers
can develop the most
effective improvement plans
ANALYTICAL MODELLING WORKFLOW
MAME: Mining, Analyzing, Modelling, Explaining
ANALYTICAL MODELLING WORKFLOW
MAME: Mining, Analyzing, Modelling, Explaining
Raw Data
……
……
A B
Clean Data
MINING
ANALYTICAL MODELLING WORKFLOW
MAME: Mining, Analyzing, Modelling, Explaining
Raw Data
……
……
A B
Clean Data
MINING
Correlation
.
.
. ..
. .
.
.
..


ANALYZING
ANALYTICAL MODELLING WORKFLOW
MAME: Mining, Analyzing, Modelling, Explaining
Raw Data
……
……
A B
Clean Data
MINING
Correlation
.
.
. ..
. .
.
.
..


ANALYZING
Analytical 

Models


MODELLING
ANALYTICAL MODELLING WORKFLOW
MAME: Mining, Analyzing, Modelling, Explaining
Raw Data
……
……
A B
Clean Data
MINING
Correlation
.
.
. ..
. .
.
.
..


ANALYZING
Analytical 

Models


MODELLING
Knowledge


EXPLAINING
ANALYTICAL MODELLING WORKFLOW
MAME: Mining, Analyzing, Modelling, Explaining
Raw Data
……
……
A B
Clean Data
MINING
Correlation
.
.
. ..
. .
.
.
..


ANALYZING
Analytical 

Models


MODELLING
Knowledge


EXPLAINING
The focus on this
presentation
Raw Data
ITS
Issue 

Tracking

System (ITS)
MINING SOFTWARE DEFECTS
Issue 

Reports
VCS
Version

Control

System (VCS)
Code
Changes
Code
Snapshot
Commit
Log
STEP 1: EXTRACT DATA
Raw Data
ITS
Issue 

Tracking

System (ITS)
MINING SOFTWARE DEFECTS
Issue 

Reports
VCS
Version

Control

System (VCS)
Code
Changes
Code
Snapshot
Commit
Log
STEP 1: EXTRACT DATA
Reference: https://github.com/apache/lucene-solr/tree/662f8dd3423b3d56e9e1a197fe816393a33155e2
What are the source files
in this release?
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 1: EXTRACT DATA
MINING SOFTWARE DEFECTS
Reference: https://github.com/apache/lucene-solr/tree/662f8dd3423b3d56e9e1a197fe816393a33155e2
What are the source files
in this release?
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 2: COLLECT METRICS
STEP 1: EXTRACT DATA
MINING SOFTWARE DEFECTS
Reference: https://github.com/apache/lucene-solr/commit/662f8dd3423b3d56e9e1a197fe816393a33155e2
ITS VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Raw Data
Commit
Log
Issue 

Reports
MINING SOFTWARE DEFECTS
Code
Changes
Code
Snapshot
STEP 2: COLLECT METRICS
STEP 1: EXTRACT DATA
Reference: https://github.com/apache/lucene-solr/commit/662f8dd3423b3d56e9e1a197fe816393a33155e2
How many lines are
added or deleted?
ITS VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Raw Data
Commit
Log
Issue 

Reports
MINING SOFTWARE DEFECTS
Code
Changes
Code
Snapshot
STEP 2: COLLECT METRICS
STEP 1: EXTRACT DATA
Who edit this file?
ITS VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Raw Data
STEP 1: EXTRACT DATA
CODE METRICS
Size, Code Complexity, Cognitive Complexity,

OO Design (e.g., coupling, cohesion)
PROCESS METRICS
Development Practices 

(e.g., #commits, #dev, churn, #pre-
release defects, change complexity)
HUMAN FACTORS
Code Ownership, #MajorDevelopers, 

#MinorDevelopers, Author Ownership,

Developer Experience
Code
Changes
Code
Snapshot
Commit
Log
Issue 

Reports
STEP 2: COLLECT METRICS
MINING SOFTWARE DEFECTS
Reference: https://issues.apache.org/jira/browse/LUCENE-4128
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 1: EXTRACT DATA
STEP 2: COLLECT METRICSSTEP 3: IDENTIFY DEFECTS
MINING SOFTWARE DEFECTS
Reference: https://issues.apache.org/jira/browse/LUCENE-4128
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 1: EXTRACT DATA
STEP 2: COLLECT METRICSSTEP 3: IDENTIFY DEFECTS
MINING SOFTWARE DEFECTS
Reference: https://issues.apache.org/jira/browse/LUCENE-4128
Issue Reference ID
Bug / New Feature
Which releases are affected?
Which commits belong to this
issue report?
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 1: EXTRACT DATA
STEP 2: COLLECT METRICSSTEP 3: IDENTIFY DEFECTS
MINING SOFTWARE DEFECTS
Whether this report is created
after the release of interest?
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 1: EXTRACT DATA
STEP 3: IDENTIFY DEFECTS STEP 2: COLLECT METRICS
……
……
A B
Defect

Dataset
MINING SOFTWARE DEFECTS
Which files were changed to
fix the defect?
ITS
Code
Changes
Code
Snapshot
Commit
Log
VCS
Issue 

Tracking

System (ITS)
Version

Control

System (VCS)
Issue 

Reports
Raw Data
STEP 1: EXTRACT DATA
STEP 3: IDENTIFY DEFECTS STEP 2: COLLECT METRICS
……
……
A B
Defect

Dataset
MINING SOFTWARE DEFECTS
Which files were changed to
fix the defect?
Link
CHALLENGES OF MINING SOFTWARE DEFECTS
THE HEURISTIC APPROACH
Post-release defects are
defined as modules that are
fixed for a defect report
within a post-release window
period (e.g., 6 months)
[Fischer et al, ICSM’03]
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
Release 1.0
Changes
Issues
Timeline
Timeline
Fischer et al., “Populating a Release History Database from Version Control and Bug Tracking Systems”, ICSM’03
The 6-months window period
CHALLENGES OF MINING SOFTWARE DEFECTS
THE HEURISTIC APPROACH
Post-release defects are
defined as modules that are
fixed for a defect report
within a post-release window
period (e.g., 6 months)
[Fischer et al, ICSM’03]
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
Fischer et al., “Populating a Release History Database from Version Control and Bug Tracking Systems”, ICSM’03
The 6-months window period
CHALLENGES OF MINING SOFTWARE DEFECTS
FILE HEU-LABEL
DEFECTIVE
DEFECTIVE
DEFECTIVE
CLEAN
A.java
B.java
C.java
D.java
THE HEURISTIC APPROACH
Post-release defects are
defined as modules that are
fixed for a defect report
within a post-release window
period (e.g., 6 months)
[Fischer et al, ICSM’03]
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
Fischer et al., “Populating a Release History Database from Version Control and Bug Tracking Systems”, ICSM’03
The 6-months window period
CHALLENGES OF MINING SOFTWARE DEFECTS
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
The 6-months window period
CHALLENGES OF MINING SOFTWARE DEFECTS
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
Some defect reports that are addressed within
the specific post-release window period did not
actually affect the release of interest
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
The 6-months window period
CHALLENGES OF MINING SOFTWARE DEFECTS
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
Some defect reports that are addressed within
the specific post-release window period did not
actually affect the release of interest
Some defect reports that actually affect the
release of interest may be addressed after the
specific window period
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
USING THE EARLIEST AFFECTED RELEASES
That is realistically estimated by a software development team
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
THE REALISTIC APPROACH
Post-release defects are
defined as modules that are
fixed for a defect report that
affected a release of interest
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
da Costa et al. suggest that the affected release field in
an Issue Tracking System (ITS) should be considered
when identifying defect-introducing commits.
da Costa et al., A framework for evaluating the results of the SZZ approach for identifying bug-introducing changes. TSE’17
USING THE EARLIEST AFFECTED RELEASES
That is realistically estimated by a software development team
Release 1.0
Changes
Issues
Timeline
Timeline
C1: Fixed ID-1
ID=1, v=1.0
A.java
ID=2, v=0.9
C2: Fixed ID-2
B.java
ID=3, v=1.0
C3: Fixed ID-3
C.java
ID=4, v=1.0
C4: Fixed ID-4
D.java
THE REALISTIC APPROACH
Post-release defects are
defined as modules that are
fixed for a defect report that
affected a release of interest
ID indicates a defect report ID, 

C indicates a commit hash,

v indicates affected release(s)
da Costa et al. suggest that the affected release field in
an Issue Tracking System (ITS) should be considered
when identifying defect-introducing commits.
da Costa et al., A framework for evaluating the results of the SZZ approach for identifying bug-introducing changes. TSE’17
DEFECTIVE
CLEAN
DEFECTIVE
DEFECTIVE
FILE HEU-LABEL
DEFECTIVE
DEFECTIVE
DEFECTIVE
CLEAN
A.java
B.java
C.java
D.java
REAL-LABEL
(RQ1) How do heuristic 

defect datasets and realistic 

defect datasets differ?
(RQ2) How do defect
labelling approaches impact
the predictive accuracy of
defect models?
(RQ3) How do defect
labelling approaches impact
the ranking of defective
modules?
STUDIED SOFTWARE SYSTEMS
32 releases that span across 9 open-source software systems
Name %DefectiveRatio KLOC
ActiveMQ 6%-15% 142-299
Camel 2%-18% 75-383
Derby 14%-33% 412-533
Groovy 3%-8% 74-90
HBase 20%-26% 246-534
Hive 8%-19% 287-563
JRuby 5%-18% 105-238
Lucene 3%-24% 101-342
Wicket 4%-7% 109-165
Each dataset has 65 software metrics
• 54 code metrics
• 5 process metrics
• 6 ownership metrics
https://awsm-research.github.io/Rnalytica/
A defect dataset

with 2 types of
labels
1
1
2
0
A.java
B.java
C.java
D.java
FILE HeuBugCount RealBugCountMETRICS
……..
Labels generated by the heuristic approach
Labels generated by the realistic approach
DEFECTIVE
DEFECTIVE
DEFECTIVE
CLEAN
HeuBug RealBug
DEFECTIVE
CLEAN
DEFECTIVE
CLEAN
1
0
2
0
(RQ1) How do heuristic defect datasets and realistic
defect datasets differ?
A defect dataset

with 2 types of
labels
1
1
2
0
A.java
B.java
C.java
D.java
FILE HeuBugCount RealBugCountMETRICS
……..
Labels generated by the heuristic approach
Labels generated by the realistic approach
DEFECTIVE
DEFECTIVE
DEFECTIVE
CLEAN
HeuBug RealBug
DEFECTIVE
CLEAN
DEFECTIVE
CLEAN
1
0
2
0
Dichotomize to binary datasets
(RQ1) How do heuristic defect datasets and realistic
defect datasets differ?
(RQ1) How do heuristic defect datasets and realistic
defect datasets differ?
1
1
2
0
A.java
B.java
C.java
D.java
FILE HeuBugCount RealBugCountMETRICS
……..
How many files that
HeuBugCount !=
RealBugCount?
DEFECTIVE
DEFECTIVE
DEFECTIVE
CLEAN
HeuBug RealBug
DEFECTIVE
CLEAN
DEFECTIVE
CLEAN
1
0
2
0
How many files that
HeuBug != RealBug?
●
0
20
40
60
80
100
Defective Clean
Percentage
Defect Count Datasets
Both defect count and binary defect datasets are
impacted!
●
0
20
40
60
80
100
Defective Clean
Percentage
Defect Count Datasets
89% of defective files in heuristic defect
datasets have different defect counts
Both defect count and binary defect datasets are
impacted!
●
0
20
40
60
80
100
Defective Clean
Percentage
Defect Count Datasets
0
20
40
60
80
100
MislabelledDefective MislabelledClean
Percentage
Binary Defect Datasets
55% of defective files in 

heuristic datasets are mislabelled
89% of defective files in heuristic defect
datasets have different defect counts
Both defect count and binary defect datasets are
impacted!
(RQ1) How do heuristic 

defect datasets and realistic 

defect datasets differ?
(RQ2) How do defect
labelling approaches impact
the predictive accuracy of
defect models?
(RQ3) How do defect
labelling approaches impact
the ranking of defective
modules?
Both defect count and binary
defect datasets are impacted
(i.e., different defect counts

and mislabelling)
(RQ2-3) How do defect labelling approaches impact
defect models?
Generate
Samples
Training

corpus w/ 

2 labels
Testing corpus

with realistic-
generated labels
Construct

Models

(regression +
random forest)
Heuristic

Models
Realistic

Models
Evaluate

Models
Predictive 

Accuracy
Ranking of

Defects
100-repeated bootstrap iterations
A defect
dataset

with 2 types
of labels
LM_real LM_heu RFR_real RFR_heu
●
●
●
●
●●
0.0
0.2
0.4
0.6
0.8
1.0
MAE
75
80
85
90
95
100
SA
Surprisingly, there is no
significant difference in the
predictive accuracy of defect
count models
MAE (Mean Absolute Error): The lower MAE is , the more accurate
the models
SA (Standardized Accuracy): The higher SA is, the more accurate
the models
“Future studies should not be too concerned
about the quality of heuristic-generated defect
datasets when constructing defect count models”
●●
0.0
0.2
0.4
0.6
0.8
1.0
AUC Precision Recall Fmeasure
GLM_real GLM_heu RFC_real RFC_heu
When using realistic
defect datasets,
defect classification
models perform
better
“Realistic-generated defect
datasets are recommended when
building defect classification
models”
Improve ~5% for
AUC (Cliff’s
medium to large)
Improve ~10% for
F-measure (Cliff’s
medium to large)
(RQ1) How do heuristic 

defect datasets and realistic 

defect datasets differ?
(RQ2) How do defect
labelling approaches impact
the predictive accuracy of
defect models?
(RQ3) How do defect
labelling approaches impact
the ranking of defective
modules?
When using realistic defect
datasets, there is no difference
for defect count models but
defect classification models
perform better
Both defect count and binary
defect datasets are impacted
(i.e., different defect counts

and mislabelling)
●
●
●
●
●
●●
●
●
●
●
●
−0.2
0.0
0.2
0.4
P@20%LOC R@20%LOC Spearman
LM RF
●
●
●
●
●
●
−0.2
0.0
0.2
0.4
P@20%LOC R@20%LOC
GLM RF
The realistic approach has a negligible to small
impact on the ranking of defective files
Defect Count Models Defect Classification Models
Realistic-Heuristic
(RQ1) How do heuristic 

defect datasets and realistic 

defect datasets differ?
(RQ2) How do defect
labelling approaches impact
the predictive accuracy of
defect models?
(RQ3) How do defect
labelling approaches impact
the ranking of defective
modules?
The heuristic approach has a
negligible to small impact on
the ranking of defective
modules
When using realistic defect
datasets, there is no difference
for defect count models, but
defect classification models
perform better
Both defect count and binary
defect datasets are impacted
(i.e., different defect counts

and mislabelling)
TAKE

AWAY
For defect count models,
future work should not be
too concerned. 

For defect classification
models, using the realistic
approach is recommended.
https://awsm-research.github.io/Rnalytica/
Mining Software Defects

Should We Consider Affected Releases?
Dr. Chakkrit (Kla) Tantithamthavorn
chakkrit.tantithamthavorn@monash.edu
@klainfohttp://chakkrit.com

More Related Content

What's hot

Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Chakkrit (Kla) Tantithamthavorn
 
Software reliability growth model
Software reliability growth modelSoftware reliability growth model
Software reliability growth modelHimanshu
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliabilityranapoonam1
 
Defect effort prediction models in software
Defect effort prediction models in softwareDefect effort prediction models in software
Defect effort prediction models in softwareIAEME Publication
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...RAKESH RANA
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryTim Menzies
 
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...Editor IJCATR
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & qualityNur Islam
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Reviewinventionjournals
 
Software Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeSoftware Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeEditor IJMTER
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodIRJET Journal
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorTim Menzies
 
The job of software tester - How do I see software testing
The job of software tester - How do I see software testingThe job of software tester - How do I see software testing
The job of software tester - How do I see software testingAli LABBENE
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware ReliabilitySandeep Patalay
 
Complexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesComplexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesTim Menzies
 
Software testing strategy
Software testing strategySoftware testing strategy
Software testing strategyijseajournal
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote Shiva Nejati
 

What's hot (20)

Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...
 
Software reliability growth model
Software reliability growth modelSoftware reliability growth model
Software reliability growth model
 
O0181397100
O0181397100O0181397100
O0181397100
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
Defect effort prediction models in software
Defect effort prediction models in softwareDefect effort prediction models in software
Defect effort prediction models in software
 
J034057065
J034057065J034057065
J034057065
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern Discovery
 
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Review
 
Software Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeSoftware Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing Scheme
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction Factor
 
The job of software tester - How do I see software testing
The job of software tester - How do I see software testingThe job of software tester - How do I see software testing
The job of software tester - How do I see software testing
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
 
Complexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesComplexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software Architectures
 
Software testing strategy
Software testing strategySoftware testing strategy
Software testing strategy
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote
 

Similar to Mining Software Defects: Should We Consider Affected Releases?

Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...University of Antwerp
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...University of Antwerp
 
Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)
Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)
Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)Giovanni Rosa
 
Control source code quality using the SonarQube platform
Control source code quality using the SonarQube platformControl source code quality using the SonarQube platform
Control source code quality using the SonarQube platformPVS-Studio
 
Effective Software Release Management
Effective Software Release ManagementEffective Software Release Management
Effective Software Release ManagementMichael Degnan
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...FINOS
 
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...Amine Barrak
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET Journal
 
Find Out What's New With WhiteSource September 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource September 2018- A WhiteSource WebinarFind Out What's New With WhiteSource September 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource September 2018- A WhiteSource WebinarWhiteSource
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideAryan G
 
It Launch Plan
It Launch PlanIt Launch Plan
It Launch Plantcaesar
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSebastiano Panichella
 
PVS-Studio 7.12 New Features for Finding Safety and Security Threats
PVS-Studio 7.12 New Features for Finding Safety and Security ThreatsPVS-Studio 7.12 New Features for Finding Safety and Security Threats
PVS-Studio 7.12 New Features for Finding Safety and Security ThreatsAndrey Karpov
 
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio
 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementMd Mamunur Rashid
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using addJavid iqbal hashmi
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software developmentMartin Pinzger
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Bug Tracking System (BTS)
Bug Tracking System (BTS)Bug Tracking System (BTS)
Bug Tracking System (BTS)IRJET Journal
 

Similar to Mining Software Defects: Should We Consider Affected Releases? (20)

Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
 
1506.08725v1
1506.08725v11506.08725v1
1506.08725v1
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
 
Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)
Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)
Evaluating SZZ Implementations Through a Developer-informed Oracle (ICSE 2021)
 
Control source code quality using the SonarQube platform
Control source code quality using the SonarQube platformControl source code quality using the SonarQube platform
Control source code quality using the SonarQube platform
 
Effective Software Release Management
Effective Software Release ManagementEffective Software Release Management
Effective Software Release Management
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
 
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
 
IRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking SystemIRJET- A Review on Bug Tracking System
IRJET- A Review on Bug Tracking System
 
Find Out What's New With WhiteSource September 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource September 2018- A WhiteSource WebinarFind Out What's New With WhiteSource September 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource September 2018- A WhiteSource Webinar
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference Guide
 
It Launch Plan
It Launch PlanIt Launch Plan
It Launch Plan
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and Testing
 
PVS-Studio 7.12 New Features for Finding Safety and Security Threats
PVS-Studio 7.12 New Features for Finding Safety and Security ThreatsPVS-Studio 7.12 New Features for Finding Safety and Security Threats
PVS-Studio 7.12 New Features for Finding Safety and Security Threats
 
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ code
 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration Management
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Bug Tracking System (BTS)
Bug Tracking System (BTS)Bug Tracking System (BTS)
Bug Tracking System (BTS)
 

Recently uploaded

办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)jennyeacort
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 

Recently uploaded (20)

办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 

Mining Software Defects: Should We Consider Affected Releases?

  • 1. Should We Consider Affected Releases? Dr. Chakkrit (Kla) Tantithamthavorn Mining Software Defects Monash University, Australia. chakkrit.tantithamthavorn@monash.edu @klainfohttp://chakkrit.com Suraj Y. Jirayus J. Patanamon T.
  • 2. ANALYTICAL MODELS FOR SOFTWARE DEFECTS Focus on predicting, explaining future software defects, and building empirical theories Predicting future software defects so practitioners can effectively optimize limited resources
  • 3. ANALYTICAL MODELS FOR SOFTWARE DEFECTS Focus on predicting, explaining future software defects, and building empirical theories Predicting future software defects so practitioners can effectively optimize limited resources Explaining what makes a software fail so managers can develop the most effective improvement plans
  • 4. ANALYTICAL MODELS FOR SOFTWARE DEFECTS Focus on predicting, explaining future software defects, and building empirical theories Predicting future software defects so practitioners can effectively optimize limited resources Building empirical- grounded theories of software quality Explaining what makes a software fail so managers can develop the most effective improvement plans
  • 5. ANALYTICAL MODELLING WORKFLOW MAME: Mining, Analyzing, Modelling, Explaining
  • 6. ANALYTICAL MODELLING WORKFLOW MAME: Mining, Analyzing, Modelling, Explaining Raw Data …… …… A B Clean Data MINING
  • 7. ANALYTICAL MODELLING WORKFLOW MAME: Mining, Analyzing, Modelling, Explaining Raw Data …… …… A B Clean Data MINING Correlation . . . .. . . . . .. 
 ANALYZING
  • 8. ANALYTICAL MODELLING WORKFLOW MAME: Mining, Analyzing, Modelling, Explaining Raw Data …… …… A B Clean Data MINING Correlation . . . .. . . . . .. 
 ANALYZING Analytical 
 Models 
 MODELLING
  • 9. ANALYTICAL MODELLING WORKFLOW MAME: Mining, Analyzing, Modelling, Explaining Raw Data …… …… A B Clean Data MINING Correlation . . . .. . . . . .. 
 ANALYZING Analytical 
 Models 
 MODELLING Knowledge 
 EXPLAINING
  • 10. ANALYTICAL MODELLING WORKFLOW MAME: Mining, Analyzing, Modelling, Explaining Raw Data …… …… A B Clean Data MINING Correlation . . . .. . . . . .. 
 ANALYZING Analytical 
 Models 
 MODELLING Knowledge 
 EXPLAINING The focus on this presentation
  • 11. Raw Data ITS Issue 
 Tracking
 System (ITS) MINING SOFTWARE DEFECTS Issue 
 Reports VCS Version
 Control
 System (VCS) Code Changes Code Snapshot Commit Log STEP 1: EXTRACT DATA
  • 12. Raw Data ITS Issue 
 Tracking
 System (ITS) MINING SOFTWARE DEFECTS Issue 
 Reports VCS Version
 Control
 System (VCS) Code Changes Code Snapshot Commit Log STEP 1: EXTRACT DATA
  • 13. Reference: https://github.com/apache/lucene-solr/tree/662f8dd3423b3d56e9e1a197fe816393a33155e2 What are the source files in this release? ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 1: EXTRACT DATA MINING SOFTWARE DEFECTS
  • 14. Reference: https://github.com/apache/lucene-solr/tree/662f8dd3423b3d56e9e1a197fe816393a33155e2 What are the source files in this release? ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 2: COLLECT METRICS STEP 1: EXTRACT DATA MINING SOFTWARE DEFECTS
  • 15. Reference: https://github.com/apache/lucene-solr/commit/662f8dd3423b3d56e9e1a197fe816393a33155e2 ITS VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Raw Data Commit Log Issue 
 Reports MINING SOFTWARE DEFECTS Code Changes Code Snapshot STEP 2: COLLECT METRICS STEP 1: EXTRACT DATA
  • 16. Reference: https://github.com/apache/lucene-solr/commit/662f8dd3423b3d56e9e1a197fe816393a33155e2 How many lines are added or deleted? ITS VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Raw Data Commit Log Issue 
 Reports MINING SOFTWARE DEFECTS Code Changes Code Snapshot STEP 2: COLLECT METRICS STEP 1: EXTRACT DATA Who edit this file?
  • 17. ITS VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Raw Data STEP 1: EXTRACT DATA CODE METRICS Size, Code Complexity, Cognitive Complexity,
 OO Design (e.g., coupling, cohesion) PROCESS METRICS Development Practices 
 (e.g., #commits, #dev, churn, #pre- release defects, change complexity) HUMAN FACTORS Code Ownership, #MajorDevelopers, 
 #MinorDevelopers, Author Ownership,
 Developer Experience Code Changes Code Snapshot Commit Log Issue 
 Reports STEP 2: COLLECT METRICS MINING SOFTWARE DEFECTS
  • 18. Reference: https://issues.apache.org/jira/browse/LUCENE-4128 ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 1: EXTRACT DATA STEP 2: COLLECT METRICSSTEP 3: IDENTIFY DEFECTS MINING SOFTWARE DEFECTS
  • 19. Reference: https://issues.apache.org/jira/browse/LUCENE-4128 ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 1: EXTRACT DATA STEP 2: COLLECT METRICSSTEP 3: IDENTIFY DEFECTS MINING SOFTWARE DEFECTS
  • 20. Reference: https://issues.apache.org/jira/browse/LUCENE-4128 Issue Reference ID Bug / New Feature Which releases are affected? Which commits belong to this issue report? ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 1: EXTRACT DATA STEP 2: COLLECT METRICSSTEP 3: IDENTIFY DEFECTS MINING SOFTWARE DEFECTS Whether this report is created after the release of interest?
  • 21. ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 1: EXTRACT DATA STEP 3: IDENTIFY DEFECTS STEP 2: COLLECT METRICS …… …… A B Defect
 Dataset MINING SOFTWARE DEFECTS Which files were changed to fix the defect?
  • 22. ITS Code Changes Code Snapshot Commit Log VCS Issue 
 Tracking
 System (ITS) Version
 Control
 System (VCS) Issue 
 Reports Raw Data STEP 1: EXTRACT DATA STEP 3: IDENTIFY DEFECTS STEP 2: COLLECT METRICS …… …… A B Defect
 Dataset MINING SOFTWARE DEFECTS Which files were changed to fix the defect? Link
  • 23. CHALLENGES OF MINING SOFTWARE DEFECTS THE HEURISTIC APPROACH Post-release defects are defined as modules that are fixed for a defect report within a post-release window period (e.g., 6 months) [Fischer et al, ICSM’03] ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s) Release 1.0 Changes Issues Timeline Timeline Fischer et al., “Populating a Release History Database from Version Control and Bug Tracking Systems”, ICSM’03
  • 24. The 6-months window period CHALLENGES OF MINING SOFTWARE DEFECTS THE HEURISTIC APPROACH Post-release defects are defined as modules that are fixed for a defect report within a post-release window period (e.g., 6 months) [Fischer et al, ICSM’03] ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s) Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java Fischer et al., “Populating a Release History Database from Version Control and Bug Tracking Systems”, ICSM’03
  • 25. The 6-months window period CHALLENGES OF MINING SOFTWARE DEFECTS FILE HEU-LABEL DEFECTIVE DEFECTIVE DEFECTIVE CLEAN A.java B.java C.java D.java THE HEURISTIC APPROACH Post-release defects are defined as modules that are fixed for a defect report within a post-release window period (e.g., 6 months) [Fischer et al, ICSM’03] ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s) Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java Fischer et al., “Populating a Release History Database from Version Control and Bug Tracking Systems”, ICSM’03
  • 26. The 6-months window period CHALLENGES OF MINING SOFTWARE DEFECTS Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s)
  • 27. The 6-months window period CHALLENGES OF MINING SOFTWARE DEFECTS Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java Some defect reports that are addressed within the specific post-release window period did not actually affect the release of interest ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s)
  • 28. The 6-months window period CHALLENGES OF MINING SOFTWARE DEFECTS Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java Some defect reports that are addressed within the specific post-release window period did not actually affect the release of interest Some defect reports that actually affect the release of interest may be addressed after the specific window period ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s)
  • 29. USING THE EARLIEST AFFECTED RELEASES That is realistically estimated by a software development team Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java THE REALISTIC APPROACH Post-release defects are defined as modules that are fixed for a defect report that affected a release of interest ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s) da Costa et al. suggest that the affected release field in an Issue Tracking System (ITS) should be considered when identifying defect-introducing commits. da Costa et al., A framework for evaluating the results of the SZZ approach for identifying bug-introducing changes. TSE’17
  • 30. USING THE EARLIEST AFFECTED RELEASES That is realistically estimated by a software development team Release 1.0 Changes Issues Timeline Timeline C1: Fixed ID-1 ID=1, v=1.0 A.java ID=2, v=0.9 C2: Fixed ID-2 B.java ID=3, v=1.0 C3: Fixed ID-3 C.java ID=4, v=1.0 C4: Fixed ID-4 D.java THE REALISTIC APPROACH Post-release defects are defined as modules that are fixed for a defect report that affected a release of interest ID indicates a defect report ID, 
 C indicates a commit hash,
 v indicates affected release(s) da Costa et al. suggest that the affected release field in an Issue Tracking System (ITS) should be considered when identifying defect-introducing commits. da Costa et al., A framework for evaluating the results of the SZZ approach for identifying bug-introducing changes. TSE’17 DEFECTIVE CLEAN DEFECTIVE DEFECTIVE FILE HEU-LABEL DEFECTIVE DEFECTIVE DEFECTIVE CLEAN A.java B.java C.java D.java REAL-LABEL
  • 31. (RQ1) How do heuristic 
 defect datasets and realistic 
 defect datasets differ? (RQ2) How do defect labelling approaches impact the predictive accuracy of defect models? (RQ3) How do defect labelling approaches impact the ranking of defective modules?
  • 32. STUDIED SOFTWARE SYSTEMS 32 releases that span across 9 open-source software systems Name %DefectiveRatio KLOC ActiveMQ 6%-15% 142-299 Camel 2%-18% 75-383 Derby 14%-33% 412-533 Groovy 3%-8% 74-90 HBase 20%-26% 246-534 Hive 8%-19% 287-563 JRuby 5%-18% 105-238 Lucene 3%-24% 101-342 Wicket 4%-7% 109-165 Each dataset has 65 software metrics • 54 code metrics • 5 process metrics • 6 ownership metrics https://awsm-research.github.io/Rnalytica/
  • 33. A defect dataset
 with 2 types of labels 1 1 2 0 A.java B.java C.java D.java FILE HeuBugCount RealBugCountMETRICS …….. Labels generated by the heuristic approach Labels generated by the realistic approach DEFECTIVE DEFECTIVE DEFECTIVE CLEAN HeuBug RealBug DEFECTIVE CLEAN DEFECTIVE CLEAN 1 0 2 0 (RQ1) How do heuristic defect datasets and realistic defect datasets differ?
  • 34. A defect dataset
 with 2 types of labels 1 1 2 0 A.java B.java C.java D.java FILE HeuBugCount RealBugCountMETRICS …….. Labels generated by the heuristic approach Labels generated by the realistic approach DEFECTIVE DEFECTIVE DEFECTIVE CLEAN HeuBug RealBug DEFECTIVE CLEAN DEFECTIVE CLEAN 1 0 2 0 Dichotomize to binary datasets (RQ1) How do heuristic defect datasets and realistic defect datasets differ?
  • 35. (RQ1) How do heuristic defect datasets and realistic defect datasets differ? 1 1 2 0 A.java B.java C.java D.java FILE HeuBugCount RealBugCountMETRICS …….. How many files that HeuBugCount != RealBugCount? DEFECTIVE DEFECTIVE DEFECTIVE CLEAN HeuBug RealBug DEFECTIVE CLEAN DEFECTIVE CLEAN 1 0 2 0 How many files that HeuBug != RealBug?
  • 36. ● 0 20 40 60 80 100 Defective Clean Percentage Defect Count Datasets Both defect count and binary defect datasets are impacted!
  • 37. ● 0 20 40 60 80 100 Defective Clean Percentage Defect Count Datasets 89% of defective files in heuristic defect datasets have different defect counts Both defect count and binary defect datasets are impacted!
  • 38. ● 0 20 40 60 80 100 Defective Clean Percentage Defect Count Datasets 0 20 40 60 80 100 MislabelledDefective MislabelledClean Percentage Binary Defect Datasets 55% of defective files in 
 heuristic datasets are mislabelled 89% of defective files in heuristic defect datasets have different defect counts Both defect count and binary defect datasets are impacted!
  • 39. (RQ1) How do heuristic 
 defect datasets and realistic 
 defect datasets differ? (RQ2) How do defect labelling approaches impact the predictive accuracy of defect models? (RQ3) How do defect labelling approaches impact the ranking of defective modules? Both defect count and binary defect datasets are impacted (i.e., different defect counts
 and mislabelling)
  • 40. (RQ2-3) How do defect labelling approaches impact defect models? Generate Samples Training
 corpus w/ 
 2 labels Testing corpus
 with realistic- generated labels Construct
 Models
 (regression + random forest) Heuristic
 Models Realistic
 Models Evaluate
 Models Predictive 
 Accuracy Ranking of
 Defects 100-repeated bootstrap iterations A defect dataset
 with 2 types of labels
  • 41. LM_real LM_heu RFR_real RFR_heu ● ● ● ● ●● 0.0 0.2 0.4 0.6 0.8 1.0 MAE 75 80 85 90 95 100 SA Surprisingly, there is no significant difference in the predictive accuracy of defect count models MAE (Mean Absolute Error): The lower MAE is , the more accurate the models SA (Standardized Accuracy): The higher SA is, the more accurate the models “Future studies should not be too concerned about the quality of heuristic-generated defect datasets when constructing defect count models”
  • 42. ●● 0.0 0.2 0.4 0.6 0.8 1.0 AUC Precision Recall Fmeasure GLM_real GLM_heu RFC_real RFC_heu When using realistic defect datasets, defect classification models perform better “Realistic-generated defect datasets are recommended when building defect classification models” Improve ~5% for AUC (Cliff’s medium to large) Improve ~10% for F-measure (Cliff’s medium to large)
  • 43. (RQ1) How do heuristic 
 defect datasets and realistic 
 defect datasets differ? (RQ2) How do defect labelling approaches impact the predictive accuracy of defect models? (RQ3) How do defect labelling approaches impact the ranking of defective modules? When using realistic defect datasets, there is no difference for defect count models but defect classification models perform better Both defect count and binary defect datasets are impacted (i.e., different defect counts
 and mislabelling)
  • 44. ● ● ● ● ● ●● ● ● ● ● ● −0.2 0.0 0.2 0.4 P@20%LOC R@20%LOC Spearman LM RF ● ● ● ● ● ● −0.2 0.0 0.2 0.4 P@20%LOC R@20%LOC GLM RF The realistic approach has a negligible to small impact on the ranking of defective files Defect Count Models Defect Classification Models Realistic-Heuristic
  • 45. (RQ1) How do heuristic 
 defect datasets and realistic 
 defect datasets differ? (RQ2) How do defect labelling approaches impact the predictive accuracy of defect models? (RQ3) How do defect labelling approaches impact the ranking of defective modules? The heuristic approach has a negligible to small impact on the ranking of defective modules When using realistic defect datasets, there is no difference for defect count models, but defect classification models perform better Both defect count and binary defect datasets are impacted (i.e., different defect counts
 and mislabelling)
  • 46. TAKE
 AWAY For defect count models, future work should not be too concerned. 
 For defect classification models, using the realistic approach is recommended.
  • 47.
  • 48.
  • 49.
  • 50. https://awsm-research.github.io/Rnalytica/ Mining Software Defects
 Should We Consider Affected Releases? Dr. Chakkrit (Kla) Tantithamthavorn chakkrit.tantithamthavorn@monash.edu @klainfohttp://chakkrit.com