SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
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	
  

Más contenido relacionado

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

IHC 2011 - Widgets Internship
IHC 2011 - Widgets InternshipIHC 2011 - Widgets Internship
IHC 2011 - Widgets InternshipEduardo Oliveira
 
Dp and causal analysis guideline
Dp and causal analysis guidelineDp and causal analysis guideline
Dp and causal analysis guidelineM H Chandra
 
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 GraphsThomas Zimmermann
 
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 OptionsDavid 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 StaffDavid Rico
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyIBM
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyIBM
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyRoopa Nadkarni
 
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
 
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 v1ISSIP
 
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 FuturereDVClub
 
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-futureObsidian Software
 
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, 2010Ricky Smith CMRP, CMRT
 
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 '12OnTechnicalDebt
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)Brian Rasmussen
 
Chattanooga sme oee down time presentation
Chattanooga sme oee down time presentationChattanooga sme oee down time presentation
Chattanooga sme oee down time presentationJames Mansfield
 
Implications of Change on Workplace Learning
Implications of Change on Workplace LearningImplications of Change on Workplace Learning
Implications of Change on Workplace LearningBill Stirling
 

Similar 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
 

Más 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 detectionICSM 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 InfrastructureICSM 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 nlpICSM 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 ImplementationsICSM 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 SoftwareICSM 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 DeclarationsICSM 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 ApplicationsICSM 2010
 
Reverse Engineering Object-Oriented Distributed Systems
Reverse Engineering Object-Oriented Distributed SystemsReverse Engineering Object-Oriented Distributed Systems
Reverse Engineering Object-Oriented Distributed SystemsICSM 2010
 
Software asset management
Software asset managementSoftware asset management
Software asset managementICSM 2010
 
Successfulresearch 100915022614-phpapp01
Successfulresearch 100915022614-phpapp01Successfulresearch 100915022614-phpapp01
Successfulresearch 100915022614-phpapp01ICSM 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 slidesICSM 2010
 
Icsm2010 Announcement
Icsm2010 AnnouncementIcsm2010 Announcement
Icsm2010 AnnouncementICSM 2010
 

Más 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

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

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