SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Studying	
  the	
  impact	
  of	
  dependency	
  network	
  measures	
  	
  
                      on	
  soIware	
  quality	
  
       Thanh	
  H.	
  D.	
  Nguyen,	
  Bram	
  Adams,	
  Ahmed	
  E.	
  Hassan	
  
      SAIL,	
  School	
  of	
  Compu?ng,	
  Queen’s	
  University,	
  Kingston,	
  Canada	
  
Code	
  Quality	
  
  Problem:	
  
     Quality	
  improvement	
  resources	
  are	
  limited	
  
  Solu?on:	
  
     Bug	
  predic5on	
  iden5fies	
  defect-­‐prone	
  modules	
  




                                                                      2	
  
Bug	
  predic?on	
  models	
  

                               Bug	
  
                            Predic5on	
  
                              Model	
  




High	
  Recall	
  -­‐>	
  We	
  won’t	
  miss	
  a	
  possible	
  bug	
  
  High	
  Precision	
  -­‐>	
  We	
  won’t	
  waste	
  effort	
              3	
  
SoIware	
  is	
  more	
  than	
  just	
  	
  
           size	
  and	
  complexity	
  

Node"                        A	
                            D	
  
                                         C	
  
Local
Neighborhood"        B	
                                 F	
  

Global
Neighborhood"                    E	
             G	
  

                                                                    4	
  
SoIware	
  is	
  more	
  than	
  just	
  	
  
           size	
  and	
  complexity	
  
                      Traditional Metrics
Node"
                             (MET)"
Local
Neighborhood"             Social Network
                            Measures!
Global                        (SNA)"
Neighborhood"

                                                        5	
  
Bug	
  
                Predic5on	
  
                  Model	
  




Would	
  SNA	
  improve	
  performance?	
     6	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              7	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              8	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              9	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              10	
  
Why	
  Eclipse?	
  




                      11	
  
Bug	
  
                Predic5on	
  
                  Model	
  




Would	
  SNA	
  improve	
  performance?	
     12	
  
Bug	
  
                Predic5on	
  
                  Model	
  




Would	
  SNA	
  improve	
  performance?	
     13	
  
+25%	
  for	
  Recall	
  and	
  Precision	
  




                                                14	
  
Does	
  this	
  generalize?	
  	
  




                                      15	
  
Which	
  metrics	
  provide	
  the	
  
              improvement?	
  
Node"                      12	
  Metrics	
  


Local
                           11	
  Metrics	
  
Neighborhood"

Global
Neighborhood"              12	
  Metrics	
  
   Use	
  hierarchical	
  modeling	
  to	
  find	
  
 important	
  group	
  [Caltado	
  et	
  al.	
  TSE10]	
  
                                                         16	
  
Which	
  metrics	
  provide	
  the	
  
             improvement?	
  
Node"                   12	
  Metrics	
          7%	
  


Local
                        11	
  Metrics	
      +2.7%	
  
Neighborhood"

Global
Neighborhood"           12	
  Metrics	
      +0.3%	
  

                                                          17	
  
Which	
  metrics	
  provide	
  the	
  
             improvement?	
  
Node"                    12	
  Metrics	
           7%	
  


Local
                         11	
  Metrics	
         +2.7%	
  
Neighborhood"

Global
Neighborhood"            12	
  Metrics	
         +0.3%	
  
   Local	
  neighbours	
  have	
  most	
  of	
  the	
  
        important	
  improvement	
                          18	
  
Which	
  local	
  measures	
  have	
  the	
  most	
  impact?	
  




                                                            19	
  
Cluster	
  fan-­‐in	
  




                          20	
  
Cluster	
  fan-­‐in	
  




                          21	
  
Layer	
  bypass	
  




                      22	
  
Layer	
  bypass	
  




                      23	
  
Layer	
  bypass	
  




                      24	
  
Consider	
  your	
  neighbor	
  connec?ons	
  




                                                 25	
  
How	
  well	
  do	
  we	
  perform	
  in	
  prac?ce?	
  

                               ✔               ✗



                                                       26	
  
Effort	
  Aware	
  Predic?on	
  Models	
  




                                            27	
  
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                                             100
                                                             80
 File	
       A	
        B	
        C	
  



                                             % bugs caught
#bug	
        0	
        1	
        2	
  



                                                             60
LOC	
        48	
        8	
       44	
  

                                                             40
 ROI	
        0	
      0.125	
   0.045	
  
                                                             20
Risk	
      0.78	
     0.56	
     0.34	
  
                                                             0




                                                                   0   20     40     60     80    100

                                                                       % lines of code reviewed
                                                                                                    28	
  
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                                             100
                                                             80
 File	
       A	
        B	
        C	
  



                                             % bugs caught
#bug	
        0	
        1	
        2	
  



                                                             60
LOC	
        48	
        8	
       44	
  

                                                             40             A	
  
 ROI	
        0	
      0.125	
   0.045	
  
                                                             20
Risk	
      0.78	
     0.56	
     0.34	
  
                                                             0




                                                                   0   20       40   60     80    100

                                                                       % lines of code reviewed
                                                                                                    29	
  
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                                             100
                                                             80
 File	
       A	
        B	
        C	
  



                                             % bugs caught
#bug	
        0	
        1	
        2	
  



                                                             60
LOC	
        48	
        8	
       44	
  

                                                             40
 ROI	
        0	
      0.125	
   0.045	
  
                                                             20
                                                                                          B	
  
Risk	
      0.78	
     0.56	
     0.34	
  
                                                             0




                                                                   0   20     40     60       80   100

                                                                       % lines of code reviewed
                                                                                                     30	
  
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                                             100
                                                             80
 File	
       A	
        B	
        C	
  



                                             % bugs caught
#bug	
        0	
        1	
        2	
  



                                                             60
LOC	
        48	
        8	
       44	
  

                                                             40                             C	
  
 ROI	
        0	
      0.125	
   0.045	
  
                                                             20
Risk	
      0.78	
     0.56	
     0.34	
  
                                                             0




                                                                   0   20     40     60     80      100

                                                                       % lines of code reviewed
                                                                                                      31	
  
Is	
  this	
  a	
  good	
  predic?on?	
  




                                                             100
                                                             80
 File	
       A	
        B	
        C	
  



                                             % bugs caught
#bug	
        0	
        1	
        2	
  



                                                             60
LOC	
        48	
        8	
       44	
  

                                                             40
 ROI	
        0	
      0.125	
   0.045	
  
                                                             20
Risk	
      0.78	
     0.56	
     0.34	
  
                                                             0




                                                                   0   20     40     60     80    100

                                                                       % lines of code reviewed
                                                                                                    32	
  
Beeer	
  predic?on	
  means	
  a	
  higher	
  curve	
  




                                                             100
                                                                       Good	
  



                                                             80
 File	
       A	
        B	
        C	
  



                                             % bugs caught
#bug	
        0	
        1	
        2	
  



                                                             60
 LOC	
       48	
        8	
       44	
  

                                                             40
 ROI	
        0	
      0.125	
   0.045	
                                               Bad	
  
                                                             20
 Bad	
      0.78	
     0.56	
     0.34	
  
Good	
      0.32	
     0.72	
     0.55	
  
                                                             0




                                                                   0    20     40     60     80    100

                                                                        % lines of code reviewed
                                                                                                     33	
  
The	
  predic?on	
  model	
  helps	
  	
  
                         reduce	
  tes?ng	
  effort	
  	
  
                100
                                  Random	
  
                                    File	
  
                80
% bugs caught

                60




                               File	
  
                40




                                               Package	
  
                20
                0




                      0      20           40     60          80    100

                                  % lines of code reviewed               34	
  
35	
  
Class	
  pred.	
  has	
  more	
  poten?al	
  




                                                36	
  
            Thanh	
  H.	
  D.	
  Nguyen	
  
            (thanhnguyen@cs.queensu.ca)	
  
Deviance	
  explained	
  

                    +2.7%"




                                             +0.3%"
                                                            +1,9%"




                 +1.1%"



Bugginess	
  ~	
  Traditional	
  metrics	
  +	
  Local	
  +	
  Global	
  

                                                                            37	
  
                          Thanh	
  H.	
  D.	
  Nguyen	
  
                          (thanhnguyen@cs.queensu.ca)	
  
Anova	
  on	
  M3	
  




                        38	
  

Mais conteúdo relacionado

Semelhante a Studying the impact of dependency network measures on software quality

Business Value of Agile Methods: Using ROI and REal Options
Business Value of Agile Methods: Using ROI and REal OptionsBusiness Value of Agile Methods: Using ROI and REal Options
Business Value of Agile Methods: Using ROI and REal Options
David Rico
 
A 3-Day Introduction for Sr. Engineers and Tech. Support Staff
A 3-Day Introduction for Sr. Engineers and Tech. Support StaffA 3-Day Introduction for Sr. Engineers and Tech. Support Staff
A 3-Day Introduction for Sr. Engineers and Tech. Support Staff
David Rico
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin Nally
Roopa Nadkarni
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nally
IBM
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nally
IBM
 
Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...
Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...
Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...
David Rico
 
Design Verification: The Past, Present and Futurere
Design Verification: The Past, Present and FuturereDesign Verification: The Past, Present and Futurere
Design Verification: The Past, Present and Futurere
DVClub
 
Design verification--the-past-present-and-future
Design verification--the-past-present-and-futureDesign verification--the-past-present-and-future
Design verification--the-past-present-and-future
Obsidian Software
 
Implications of Change on Workplace Learning
Implications of Change on Workplace LearningImplications of Change on Workplace Learning
Implications of Change on Workplace Learning
Bill Stirling
 

Semelhante a Studying the impact of dependency network measures on software quality (20)

IHC 2011 - Widgets Internship
IHC 2011 - Widgets InternshipIHC 2011 - Widgets Internship
IHC 2011 - Widgets Internship
 
Dp and causal analysis guideline
Dp and causal analysis guidelineDp and causal analysis guideline
Dp and causal analysis guideline
 
Predicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsPredicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency Graphs
 
Business Value of Agile Methods: Using ROI and REal Options
Business Value of Agile Methods: Using ROI and REal OptionsBusiness Value of Agile Methods: Using ROI and REal Options
Business Value of Agile Methods: Using ROI and REal Options
 
A 3-Day Introduction for Sr. Engineers and Tech. Support Staff
A 3-Day Introduction for Sr. Engineers and Tech. Support StaffA 3-Day Introduction for Sr. Engineers and Tech. Support Staff
A 3-Day Introduction for Sr. Engineers and Tech. Support Staff
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin Nally
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nally
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nally
 
Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...
Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...
Lean & Agile Project Management: For Executives, Sr. Managers, & Key Decision...
 
Competing in a service economy 20120913 v1
Competing in a service economy 20120913 v1Competing in a service economy 20120913 v1
Competing in a service economy 20120913 v1
 
Design Verification: The Past, Present and Futurere
Design Verification: The Past, Present and FuturereDesign Verification: The Past, Present and Futurere
Design Verification: The Past, Present and Futurere
 
Design verification--the-past-present-and-future
Design verification--the-past-present-and-futureDesign verification--the-past-present-and-future
Design verification--the-past-present-and-future
 
Failure Reporting Webex Slides - March 9, 2010
Failure Reporting Webex Slides - March 9, 2010Failure Reporting Webex Slides - March 9, 2010
Failure Reporting Webex Slides - March 9, 2010
 
Lte asia 2011 s niri
Lte asia 2011 s niriLte asia 2011 s niri
Lte asia 2011 s niri
 
Leuven
LeuvenLeuven
Leuven
 
Estimating the principal of Technical Debt - Dr. Bill Curtis - WTD '12
Estimating the principal of Technical Debt - Dr. Bill Curtis - WTD '12Estimating the principal of Technical Debt - Dr. Bill Curtis - WTD '12
Estimating the principal of Technical Debt - Dr. Bill Curtis - WTD '12
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)
 
Chattanooga sme oee down time presentation
Chattanooga sme oee down time presentationChattanooga sme oee down time presentation
Chattanooga sme oee down time presentation
 
ParticleVM
ParticleVMParticleVM
ParticleVM
 
Implications of Change on Workplace Learning
Implications of Change on Workplace LearningImplications of Change on Workplace Learning
Implications of Change on Workplace Learning
 

Mais de ICSM 2010

A tree kernel based approach for clone detection
A tree kernel based approach for clone detectionA tree kernel based approach for clone detection
A tree kernel based approach for clone detection
ICSM 2010
 
Scalable Semantic Web-based Source Code Search Infrastructure
Scalable Semantic Web-based Source Code Search InfrastructureScalable Semantic Web-based Source Code Search Infrastructure
Scalable Semantic Web-based Source Code Search Infrastructure
ICSM 2010
 
2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...
2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...
2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...
ICSM 2010
 
Wiki dev nlp
Wiki dev nlpWiki dev nlp
Wiki dev nlp
ICSM 2010
 
iFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsiFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature Implementations
ICSM 2010
 
Using Clone Detection to Identify Bugs in Concurrent Software
Using Clone Detection to Identify Bugs in Concurrent SoftwareUsing Clone Detection to Identify Bugs in Concurrent Software
Using Clone Detection to Identify Bugs in Concurrent Software
ICSM 2010
 
Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...
Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...
Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...
ICSM 2010
 
Automatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method DeclarationsAutomatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method Declarations
ICSM 2010
 
Automated Identification of Cross-browser Issues in Web Applications
Automated Identification of Cross-browser Issues in Web ApplicationsAutomated Identification of Cross-browser Issues in Web Applications
Automated Identification of Cross-browser Issues in Web Applications
ICSM 2010
 
Reverse Engineering Object-Oriented Distributed Systems
Reverse Engineering Object-Oriented Distributed SystemsReverse Engineering Object-Oriented Distributed Systems
Reverse Engineering Object-Oriented Distributed Systems
ICSM 2010
 
Software asset management
Software asset managementSoftware asset management
Software asset management
ICSM 2010
 
Successfulresearch 100915022614-phpapp01
Successfulresearch 100915022614-phpapp01Successfulresearch 100915022614-phpapp01
Successfulresearch 100915022614-phpapp01
ICSM 2010
 
Enabling multi tenancy(An Industrial Experience Report)
Enabling multi tenancy(An Industrial Experience Report)Enabling multi tenancy(An Industrial Experience Report)
Enabling multi tenancy(An Industrial Experience Report)
ICSM 2010
 
Ponsini automatic slides
Ponsini automatic slidesPonsini automatic slides
Ponsini automatic slides
ICSM 2010
 
Icsm2010 Announcement
Icsm2010 AnnouncementIcsm2010 Announcement
Icsm2010 Announcement
ICSM 2010
 

Mais de ICSM 2010 (15)

A tree kernel based approach for clone detection
A tree kernel based approach for clone detectionA tree kernel based approach for clone detection
A tree kernel based approach for clone detection
 
Scalable Semantic Web-based Source Code Search Infrastructure
Scalable Semantic Web-based Source Code Search InfrastructureScalable Semantic Web-based Source Code Search Infrastructure
Scalable Semantic Web-based Source Code Search Infrastructure
 
2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...
2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...
2D and 3D Visualizations In Wikidev2.0 M. Fokaefs, D. Serrano, B. Tansey and ...
 
Wiki dev nlp
Wiki dev nlpWiki dev nlp
Wiki dev nlp
 
iFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsiFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature Implementations
 
Using Clone Detection to Identify Bugs in Concurrent Software
Using Clone Detection to Identify Bugs in Concurrent SoftwareUsing Clone Detection to Identify Bugs in Concurrent Software
Using Clone Detection to Identify Bugs in Concurrent Software
 
Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...
Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...
Physical and Conceptual Identifier Dispersion: Measures and Relation to Fault...
 
Automatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method DeclarationsAutomatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method Declarations
 
Automated Identification of Cross-browser Issues in Web Applications
Automated Identification of Cross-browser Issues in Web ApplicationsAutomated Identification of Cross-browser Issues in Web Applications
Automated Identification of Cross-browser Issues in Web Applications
 
Reverse Engineering Object-Oriented Distributed Systems
Reverse Engineering Object-Oriented Distributed SystemsReverse Engineering Object-Oriented Distributed Systems
Reverse Engineering Object-Oriented Distributed Systems
 
Software asset management
Software asset managementSoftware asset management
Software asset management
 
Successfulresearch 100915022614-phpapp01
Successfulresearch 100915022614-phpapp01Successfulresearch 100915022614-phpapp01
Successfulresearch 100915022614-phpapp01
 
Enabling multi tenancy(An Industrial Experience Report)
Enabling multi tenancy(An Industrial Experience Report)Enabling multi tenancy(An Industrial Experience Report)
Enabling multi tenancy(An Industrial Experience Report)
 
Ponsini automatic slides
Ponsini automatic slidesPonsini automatic slides
Ponsini automatic slides
 
Icsm2010 Announcement
Icsm2010 AnnouncementIcsm2010 Announcement
Icsm2010 Announcement
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Studying the impact of dependency network measures on software quality

  • 1. Studying  the  impact  of  dependency  network  measures     on  soIware  quality   Thanh  H.  D.  Nguyen,  Bram  Adams,  Ahmed  E.  Hassan   SAIL,  School  of  Compu?ng,  Queen’s  University,  Kingston,  Canada  
  • 2. Code  Quality     Problem:     Quality  improvement  resources  are  limited     Solu?on:     Bug  predic5on  iden5fies  defect-­‐prone  modules   2  
  • 3. Bug  predic?on  models   Bug   Predic5on   Model   High  Recall  -­‐>  We  won’t  miss  a  possible  bug   High  Precision  -­‐>  We  won’t  waste  effort   3  
  • 4. SoIware  is  more  than  just     size  and  complexity   Node" A   D   C   Local Neighborhood" B   F   Global Neighborhood" E   G   4  
  • 5. SoIware  is  more  than  just     size  and  complexity   Traditional Metrics Node" (MET)" Local Neighborhood" Social Network Measures! Global (SNA)" Neighborhood" 5  
  • 6. Bug   Predic5on   Model   Would  SNA  improve  performance?   6  
  • 7. Would  SNA  improve  performance?   7  
  • 8. Would  SNA  improve  performance?   8  
  • 9. Would  SNA  improve  performance?   9  
  • 10. Would  SNA  improve  performance?   10  
  • 12. Bug   Predic5on   Model   Would  SNA  improve  performance?   12  
  • 13. Bug   Predic5on   Model   Would  SNA  improve  performance?   13  
  • 14. +25%  for  Recall  and  Precision   14  
  • 16. Which  metrics  provide  the   improvement?   Node" 12  Metrics   Local 11  Metrics   Neighborhood" Global Neighborhood" 12  Metrics   Use  hierarchical  modeling  to  find   important  group  [Caltado  et  al.  TSE10]   16  
  • 17. Which  metrics  provide  the   improvement?   Node" 12  Metrics   7%   Local 11  Metrics   +2.7%   Neighborhood" Global Neighborhood" 12  Metrics   +0.3%   17  
  • 18. Which  metrics  provide  the   improvement?   Node" 12  Metrics   7%   Local 11  Metrics   +2.7%   Neighborhood" Global Neighborhood" 12  Metrics   +0.3%   Local  neighbours  have  most  of  the   important  improvement   18  
  • 19. Which  local  measures  have  the  most  impact?   19  
  • 25. Consider  your  neighbor  connec?ons   25  
  • 26. How  well  do  we  perform  in  prac?ce?   ✔ ✗ 26  
  • 27. Effort  Aware  Predic?on  Models   27  
  • 28. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 28  
  • 29. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 A   ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 29  
  • 30. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   20 B   Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 30  
  • 31. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 C   ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 31  
  • 32. Is  this  a  good  predic?on?   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 32  
  • 33. Beeer  predic?on  means  a  higher  curve   100 Good   80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   Bad   20 Bad   0.78   0.56   0.34   Good   0.32   0.72   0.55   0 0 20 40 60 80 100 % lines of code reviewed 33  
  • 34. The  predic?on  model  helps     reduce  tes?ng  effort     100 Random   File   80 % bugs caught 60 File   40 Package   20 0 0 20 40 60 80 100 % lines of code reviewed 34  
  • 35. 35  
  • 36. Class  pred.  has  more  poten?al   36   Thanh  H.  D.  Nguyen   (thanhnguyen@cs.queensu.ca)  
  • 37. Deviance  explained   +2.7%" +0.3%" +1,9%" +1.1%" Bugginess  ~  Traditional  metrics  +  Local  +  Global   37   Thanh  H.  D.  Nguyen   (thanhnguyen@cs.queensu.ca)  
  • 38. Anova  on  M3   38