SlideShare a Scribd company logo
Defect Prediction:
Accomplishments and Future Challenges
Yasutaka Kamei
POSL Lab, Kyushu University
Emad Shihab
CSE, Concordia University
POSL Lab.
❖ 2 PhD students
❖ 7 masters students
❖ 5 undergraduates
N. Ubayashi Y. Kamei
Improving

Software Quality
Scaling up

MSR Analysis
Understanding

OSS Collaboration
Defect Prediction
Fumio Akiyama
An Example of Software
System Debugging
IFIC, 1971
Defect Prediction
Fumio Akiyama
An Example of Software
System Debugging
IFIC, 1971
Background
Accomplishments
Future Challenges
What is Defect Prediction?
Describe the relationship between various
software metrics and software defects
Predicting where
defects might appear
Understanding the
effect of metrics
Leverages Data from
Repositories
Communication and discussions
Source code and development
history of a project
Bug reports or feature requests
Measure Source Code
❖ Complexity
❖ Cohesion
❖ Churn
❖ …
❖ # Previous Defects
and Build a Prediction Model
❖ Statistical or
❖ Machine learning

techniques
Predict a Defect
Predict a Defect
Predict a Defect
# Bugs: 0
# Bugs: 7
# Bugs: 2
Its Performance is Evaluated
Compare the predicted and actual number
of defects in each file.
Background
Accomplishments
Future Challenges
Accomplishment
Data Metrics
Modeling Performance
Lack of Availability and Openness
The early 2000s
Almost never want to
disclose the quality of
companies’ software
Rarely share the OSS
datasets
Defect prediction studies
started sharing their data
The early 2000s Current Trend
For Example
MSR
Data showcase track
ESEC/FSE
Replication package track
(5 more mins + 1 extra page)
tera-PROMISE
More than 1TB of data
More than 45 datasets
Accomplishment
Data Metrics
Modeling Performance
Most Papers Used Data from
Source Code Repositories
The early 2000s
We can Extract to Measure
Various Types of Metrics
The early 2000s Current Trend
GerritGit GitHub
RHSA Mylyn
 え
Accomplishment
Data Metrics
Modeling Performance
Defect Prediction Requires
Sufficient Historical Data
The early 2000s
Past Current
Building Cross-Project Defect Prediction
Models for Projects with Limited Data
The early 2000s
Other
Projects Current
Current Trend
Past Current
Accomplishment
Data Metrics
Modeling Performance
Many studies used standard
statistical measures
The early 2000s
How well defect
prediction models
explain defects
The early 2000s Current Trend
How well defect
prediction models
explain defects
Considering the effort
required to address the
predicted defects
More Practical Performance
Evaluations
Background
Accomplishments
Future Challenges
Consider new markets
Defect Prediction + Mobile Apps
Defect Prediction + Green Mining
Defect Prediction + Green Mining
We anticipate new markets to be
an area of significant growth in the
future.
Keeping Up with the Fast Pace
of Development
Firefox project
Reducing release cycles
to days or even hours
1,000 improvem-
ents in 3 months
Just-In-Time (JIT) Quality Assurance
Prediction ModelDevelopers
Example of Change Features
Still
Fresh
Low
Risk
High Risk
AcceptedSoftware Changes
4: file = fopen(fileName);
5: if(file == null)
6: return true; Risk
0.90
Try Again!!
NF: Number of modified files
DEV: The number of developers
EXP: Developer experience
1:bool existFile(
2: String fileName){
3: File file = null;
4: file = fopen(fileName);
5: if(file == null)
6: return true;
7: else
8: return false;
9:}
Kamei et al. TSE, 2013.
Just-In-Time (JIT) Quality Assurance
Prediction ModelDevelopers
Example of Change Features
Still
Fresh
Low
Risk
High Risk
AcceptedSoftware Changes
4: file = fopen(fileName);
5: if(file == null)
6: return true; Risk
0.90
Try Again!!
NF: Number of modified files
DEV: The number of developers
EXP: Developer experience
1:bool existFile(
2: String fileName){
3: File file = null;
4: file = fopen(fileName);
5: if(file == null)
6: return true;
7: else
8: return false;
9:}
We need to evaluate how to
integrate JIT models into CI process
Suggest how much
effort developers spend
to find and fix defects
Making our Models More
Accessible
Replication
Packages
Prediction

Models
Other Researchers
and Practitioners
Our Models and Techniques
Simple and Extendable
Commit Guru (Rosen et al. FSE 2015)
Via the Web
Its source code is freely
available
Conclusion
What is Defect Prediction?
Describe the relationship between various
software metrics and software defects
File Prediction
model
Output
Accomplishment
Data Metrics
Modeling Performance
Defect Prediction + Mobile Apps
Mobile applications
play a significant role in
our daily life
Defect Prediction:
Accomplishments and Future Challenges
Yasutaka Kamei
Principles of Software Languages Group (POSL)
Kyushu University, Fukuoka, Japan
Email: kamei@ait.kyushu-u.ac.jp
Emad Shihab
Dept. of Computer Science and Software Engineering
Concordia University, Montr´eal, Canada
Email: eshihab@encs.concordia.ca
Abstract—As software systems play an increasingly important
role in our lives, their complexity continues to increase. The
increased complexity of software systems makes the assurance
of their quality very difficult. Therefore, a significant amount of
recent research focuses on the prioritization of software quality
assurance efforts. One line of work that has been receiving an
increasing amount of attention for over 40 years is software
defect prediction, where predictions are made to determine where
future defects might appear. Since then, there have been many
studies and many accomplishments in the area of software defect
prediction. At the same time, there remain many challenges that
face that field of software defect prediction. The paper aims to
accomplish four things. First, we provide a brief overview of
software defect prediction and its various components. Second,
we revisit the challenges of software prediction models as they
were seen in the year 2000, in order to reflect on our accom-
plishments since then. Third, we highlight our accomplishments
and current trends, as well as, discuss the game changers that
had a significant impact on software defect prediction. Fourth,
we highlight some key challenges that lie ahead in the near (and
not so near) future in order for us as a research community to
tackle these future challenges.
I. INTRODUCTION
future and allocate SQA resources to defect-prone artifacts
(e.g., subsystems and files) [58] and (2) to understand the
effect of factors on the likelihood of finding a defect and
derive practical guidelines for future software development
projects [9, 45].
Due to its importance, defect prediction work has been
at the focus of researchers for over 40 years. Akiyama [3]
first attempted to build defect prediction models using size-
based metrics and regression modelling techniques in 1971.
Since then, there have been a plethora of studies and many
accomplishments in the software defect prediction area [23].
At the same time, there remain many challenges that face
software defect prediction. Hence, we believe that it is a
perfect time to write a Future of Software Engineering (FoSE)
paper on the topic of software defect prediction.
The paper is written from a budding university researchers’
point of view and aims to accomplish four things. First, we
provide a brief overview of software defect prediction and
its various components. Second, we revisit the challenges of
Accomplishment
Data Metrics
Modeling Performance
What is Defect Prediction?
Describe the relationship between various
software metrics and software defects
File Prediction
model
Output
Defect Prediction + Mobile Apps
Mobile applications
play a significant role in
our daily life

More Related Content

PPTX
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
PDF
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
PPTX
Survey on Software Defect Prediction
PDF
Defect Prediction Over Software Life Cycle in Automotive Domain
PPTX
Data collection for software defect prediction
PDF
Cross-project defect prediction
PDF
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
PDF
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
Software Defect Prediction Techniques in the Automotive Domain: Evaluation, S...
Survey on Software Defect Prediction
Defect Prediction Over Software Life Cycle in Automotive Domain
Data collection for software defect prediction
Cross-project defect prediction
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)

What's hot (20)

PDF
Survey on Software Defect Prediction
PPTX
14 software technical_metrics
PPTX
Software Reliability
PPT
Unit 6
PDF
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
PPTX
Establishing A Defect Prediction Model Using A Combination of Product Metrics...
PPTX
Machine Learning Approach for Quality Assessment and Prediction in Large Soft...
PPTX
Software quality
PPT
A Regression Analysis Approach for Building a Prediction Model for System Tes...
PPT
Metrics
PDF
A defect prediction model based on the relationships between developers and c...
DOC
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems
ODP
Software Measurement: Lecture 1. Measures and Metrics
PDF
Rayleigh model
PPTX
What is Software Quality and how to measure it?
PPT
Sop test planning
PPTX
An Empirical Study of Adoption of Software Testing in Open Source Projects
PPT
factors
PPT
Software Product Measurement and Analysis in a Continuous Integration Environ...
PPT
Software testing lecture 10
Survey on Software Defect Prediction
14 software technical_metrics
Software Reliability
Unit 6
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Establishing A Defect Prediction Model Using A Combination of Product Metrics...
Machine Learning Approach for Quality Assessment and Prediction in Large Soft...
Software quality
A Regression Analysis Approach for Building a Prediction Model for System Tes...
Metrics
A defect prediction model based on the relationships between developers and c...
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems
Software Measurement: Lecture 1. Measures and Metrics
Rayleigh model
What is Software Quality and how to measure it?
Sop test planning
An Empirical Study of Adoption of Software Testing in Open Source Projects
factors
Software Product Measurement and Analysis in a Continuous Integration Environ...
Software testing lecture 10
Ad

Similar to Defect Prediction: Accomplishments and Future Challenges (20)

PDF
Practical Guidelines to Improve Defect Prediction Model – A Review
DOCX
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
PDF
Development of software defect prediction system using artificial neural network
PDF
Software Defect Prediction Using Radial Basis and Probabilistic Neural Networks
PDF
Towards formulating dynamic model for predicting defects in system testing us...
PDF
Thesis Final Report
PPTX
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
PDF
Software Defects and SW Reliability Assessment
PDF
Towards a Better Understanding of the Impact of Experimental Components on De...
PDF
Software testing defect prediction model a practical approach
PDF
Software Defect Prediction Using Local and Global Analysis
PDF
Testing Experience Magazine Vol.14 June 2011
PDF
Predicting Software Defects Using Bayesian Network Approach
PDF
IRJET- A Novel Approach on Computation Intelligence Technique for Softwar...
PPTX
A value added predictive defect type distribution model
PDF
Insights of effectivity analysis of learning-based approaches towards softwar...
PDF
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
PPTX
5DataInc | Offers trusted Web Security Testing Services
PDF
Chap 4 Defect Management of the software .pdf
DOC
Abstract.doc
Practical Guidelines to Improve Defect Prediction Model – A Review
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
Development of software defect prediction system using artificial neural network
Software Defect Prediction Using Radial Basis and Probabilistic Neural Networks
Towards formulating dynamic model for predicting defects in system testing us...
Thesis Final Report
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
Software Defects and SW Reliability Assessment
Towards a Better Understanding of the Impact of Experimental Components on De...
Software testing defect prediction model a practical approach
Software Defect Prediction Using Local and Global Analysis
Testing Experience Magazine Vol.14 June 2011
Predicting Software Defects Using Bayesian Network Approach
IRJET- A Novel Approach on Computation Intelligence Technique for Softwar...
A value added predictive defect type distribution model
Insights of effectivity analysis of learning-based approaches towards softwar...
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
5DataInc | Offers trusted Web Security Testing Services
Chap 4 Defect Management of the software .pdf
Abstract.doc
Ad

Recently uploaded (20)

PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Well-logging-methods_new................
PPTX
Welding lecture in detail for understanding
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
PPT on Performance Review to get promotions
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
Sustainable Sites - Green Building Construction
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPT
Mechanical Engineering MATERIALS Selection
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPT
Project quality management in manufacturing
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
CH1 Production IntroductoryConcepts.pptx
Foundation to blockchain - A guide to Blockchain Tech
Well-logging-methods_new................
Welding lecture in detail for understanding
Lecture Notes Electrical Wiring System Components
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPT on Performance Review to get promotions
Model Code of Practice - Construction Work - 21102022 .pdf
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Sustainable Sites - Green Building Construction
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Mechanical Engineering MATERIALS Selection
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
UNIT 4 Total Quality Management .pptx
Project quality management in manufacturing
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...

Defect Prediction: Accomplishments and Future Challenges

  • 1. Defect Prediction: Accomplishments and Future Challenges Yasutaka Kamei POSL Lab, Kyushu University Emad Shihab CSE, Concordia University
  • 2. POSL Lab. ❖ 2 PhD students ❖ 7 masters students ❖ 5 undergraduates N. Ubayashi Y. Kamei Improving
 Software Quality Scaling up
 MSR Analysis Understanding
 OSS Collaboration
  • 3. Defect Prediction Fumio Akiyama An Example of Software System Debugging IFIC, 1971
  • 4. Defect Prediction Fumio Akiyama An Example of Software System Debugging IFIC, 1971 Background Accomplishments Future Challenges
  • 5. What is Defect Prediction? Describe the relationship between various software metrics and software defects Predicting where defects might appear Understanding the effect of metrics
  • 6. Leverages Data from Repositories Communication and discussions Source code and development history of a project Bug reports or feature requests
  • 7. Measure Source Code ❖ Complexity ❖ Cohesion ❖ Churn ❖ … ❖ # Previous Defects
  • 8. and Build a Prediction Model ❖ Statistical or ❖ Machine learning
 techniques
  • 11. Predict a Defect # Bugs: 0 # Bugs: 7 # Bugs: 2
  • 12. Its Performance is Evaluated Compare the predicted and actual number of defects in each file.
  • 15. Lack of Availability and Openness The early 2000s Almost never want to disclose the quality of companies’ software Rarely share the OSS datasets
  • 16. Defect prediction studies started sharing their data The early 2000s Current Trend
  • 17. For Example MSR Data showcase track ESEC/FSE Replication package track (5 more mins + 1 extra page) tera-PROMISE More than 1TB of data More than 45 datasets
  • 19. Most Papers Used Data from Source Code Repositories The early 2000s
  • 20. We can Extract to Measure Various Types of Metrics The early 2000s Current Trend GerritGit GitHub RHSA Mylyn
  • 23. Defect Prediction Requires Sufficient Historical Data The early 2000s Past Current
  • 24. Building Cross-Project Defect Prediction Models for Projects with Limited Data The early 2000s Other Projects Current Current Trend Past Current
  • 26. Many studies used standard statistical measures The early 2000s How well defect prediction models explain defects
  • 27. The early 2000s Current Trend How well defect prediction models explain defects Considering the effort required to address the predicted defects More Practical Performance Evaluations
  • 30. Defect Prediction + Mobile Apps
  • 31. Defect Prediction + Green Mining
  • 32. Defect Prediction + Green Mining We anticipate new markets to be an area of significant growth in the future.
  • 33. Keeping Up with the Fast Pace of Development Firefox project Reducing release cycles to days or even hours 1,000 improvem- ents in 3 months
  • 34. Just-In-Time (JIT) Quality Assurance Prediction ModelDevelopers Example of Change Features Still Fresh Low Risk High Risk AcceptedSoftware Changes 4: file = fopen(fileName); 5: if(file == null) 6: return true; Risk 0.90 Try Again!! NF: Number of modified files DEV: The number of developers EXP: Developer experience 1:bool existFile( 2: String fileName){ 3: File file = null; 4: file = fopen(fileName); 5: if(file == null) 6: return true; 7: else 8: return false; 9:} Kamei et al. TSE, 2013.
  • 35. Just-In-Time (JIT) Quality Assurance Prediction ModelDevelopers Example of Change Features Still Fresh Low Risk High Risk AcceptedSoftware Changes 4: file = fopen(fileName); 5: if(file == null) 6: return true; Risk 0.90 Try Again!! NF: Number of modified files DEV: The number of developers EXP: Developer experience 1:bool existFile( 2: String fileName){ 3: File file = null; 4: file = fopen(fileName); 5: if(file == null) 6: return true; 7: else 8: return false; 9:} We need to evaluate how to integrate JIT models into CI process Suggest how much effort developers spend to find and fix defects
  • 36. Making our Models More Accessible Replication Packages Prediction
 Models Other Researchers and Practitioners
  • 37. Our Models and Techniques Simple and Extendable
  • 38. Commit Guru (Rosen et al. FSE 2015) Via the Web Its source code is freely available
  • 40. What is Defect Prediction? Describe the relationship between various software metrics and software defects File Prediction model Output
  • 42. Defect Prediction + Mobile Apps Mobile applications play a significant role in our daily life
  • 43. Defect Prediction: Accomplishments and Future Challenges Yasutaka Kamei Principles of Software Languages Group (POSL) Kyushu University, Fukuoka, Japan Email: kamei@ait.kyushu-u.ac.jp Emad Shihab Dept. of Computer Science and Software Engineering Concordia University, Montr´eal, Canada Email: eshihab@encs.concordia.ca Abstract—As software systems play an increasingly important role in our lives, their complexity continues to increase. The increased complexity of software systems makes the assurance of their quality very difficult. Therefore, a significant amount of recent research focuses on the prioritization of software quality assurance efforts. One line of work that has been receiving an increasing amount of attention for over 40 years is software defect prediction, where predictions are made to determine where future defects might appear. Since then, there have been many studies and many accomplishments in the area of software defect prediction. At the same time, there remain many challenges that face that field of software defect prediction. The paper aims to accomplish four things. First, we provide a brief overview of software defect prediction and its various components. Second, we revisit the challenges of software prediction models as they were seen in the year 2000, in order to reflect on our accom- plishments since then. Third, we highlight our accomplishments and current trends, as well as, discuss the game changers that had a significant impact on software defect prediction. Fourth, we highlight some key challenges that lie ahead in the near (and not so near) future in order for us as a research community to tackle these future challenges. I. INTRODUCTION future and allocate SQA resources to defect-prone artifacts (e.g., subsystems and files) [58] and (2) to understand the effect of factors on the likelihood of finding a defect and derive practical guidelines for future software development projects [9, 45]. Due to its importance, defect prediction work has been at the focus of researchers for over 40 years. Akiyama [3] first attempted to build defect prediction models using size- based metrics and regression modelling techniques in 1971. Since then, there have been a plethora of studies and many accomplishments in the software defect prediction area [23]. At the same time, there remain many challenges that face software defect prediction. Hence, we believe that it is a perfect time to write a Future of Software Engineering (FoSE) paper on the topic of software defect prediction. The paper is written from a budding university researchers’ point of view and aims to accomplish four things. First, we provide a brief overview of software defect prediction and its various components. Second, we revisit the challenges of
  • 44. Accomplishment Data Metrics Modeling Performance What is Defect Prediction? Describe the relationship between various software metrics and software defects File Prediction model Output Defect Prediction + Mobile Apps Mobile applications play a significant role in our daily life