SlideShare a Scribd company logo
1 of 44
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

What's hot

Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Chakkrit (Kla) Tantithamthavorn
 
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ(CFP) - Quality Improvement by the Real-Time Detection of the Problems
Takanori Suzuki
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10
Abdul Basit
 

What's hot (20)

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

Similar to Defect Prediction: Accomplishments and Future Challenges

Lecture 01
Lecture 01Lecture 01
Lecture 01
Rana Ali
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
IJCSES Journal
 
Abstract.doc
Abstract.docAbstract.doc
Abstract.doc
butest
 
1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx
jackiewalcutt
 
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...
cscpconf
 

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

Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
A Combined Approach of Software Metrics and Software Fault Analysis to Estima...
A Combined Approach of Software Metrics and Software Fault Analysis to Estima...A Combined Approach of Software Metrics and Software Fault Analysis to Estima...
A Combined Approach of Software Metrics and Software Fault Analysis to Estima...
 
Lopez
LopezLopez
Lopez
 
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
 
Abstract.doc
Abstract.docAbstract.doc
Abstract.doc
 
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
 
EVALUATION OF SOFTWARE DEGRADATION AND FORECASTING FUTURE DEVELOPMENT NEEDS I...
EVALUATION OF SOFTWARE DEGRADATION AND FORECASTING FUTURE DEVELOPMENT NEEDS I...EVALUATION OF SOFTWARE DEGRADATION AND FORECASTING FUTURE DEVELOPMENT NEEDS I...
EVALUATION OF SOFTWARE DEGRADATION AND FORECASTING FUTURE DEVELOPMENT NEEDS I...
 
1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx
 
Software Quality Measure
Software Quality MeasureSoftware Quality Measure
Software Quality Measure
 
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...
APPLYING REQUIREMENT BASED COMPLEXITY FOR THE ESTIMATION OF SOFTWARE DEVELOPM...
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
lecture24.ppt
lecture24.pptlecture24.ppt
lecture24.ppt
 
Importance of Testing in SDLC
Importance of Testing in SDLCImportance of Testing in SDLC
Importance of Testing in SDLC
 
A survey of predicting software reliability using machine learning methods
A survey of predicting software reliability using machine learning methodsA survey of predicting software reliability using machine learning methods
A survey of predicting software reliability using machine learning methods
 
unit 1 ppt.pptx
unit 1 ppt.pptxunit 1 ppt.pptx
unit 1 ppt.pptx
 
Past, Present, and Future of Analyzing Software Data
Past, Present, and Future of Analyzing Software DataPast, Present, and Future of Analyzing Software Data
Past, Present, and Future of Analyzing Software Data
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 

Recently uploaded (20)

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 

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