SlideShare a Scribd company logo
1 of 14
Software Dependencies, Work Dependencies,
and their impact on Failures
Jeffrey A.Roberts, James D.Herbsleb, Marcelo cataldo and Audris Mockus




                                                                                          Presented By

                                                                         Muthukumaran Kasinathan
Introduction

“Software faults are often the result of violated dependencies
that are not recognized by developers implementing software”

Research Questions
 What is the relative impact of syntactic and logical
  dependencies on the failure proneness of a software
  system?
 Do higher levels of work dependencies lead to higher levels
  of failure proneness of a software system?
Software Dependencies


  Syntactic Dependencies
  Logical Dependencies
  Work Dependencies
Syntactic Dependencies
“Syntactic dependencies will be computed between source
code files by identifying data, function and method references
crossing the boundary of each source code file ”

 Focuses on Control and Dataflow relationships
 These dependencies could be:
    Inflow, Outflow Data Dependencies
    Inflow, Outflow Functional Dependencies
Logical Dependencies

 Relate source-code files that are modified together as part of
  an MR
 If only one file was changed for an MR, then there is no
  dependencies
 Using the Commit information from the Version control
  system, a logical dependency matrix (LDM) was created
 LDM is a symmetric matrix of source-code files where Cij
  represents the sum, across all releases, of the number of
  times files i and j were changed together as part of an MR
Logical Dependencies

“Logical Dependencies between the source code files will be
calculated by identifying source code files that are changed
together as part of software development”

 Identifies important dependencies that are not visible or
  covered in Syntactic Dependencies.
 These dependencies could be:
    Number of Logical Dependencies
    Clustering of Logical Dependencies
Work Dependencies

 Impact of human and organizational factors on the failure proneness of
  software systems
 Impact of Lack of proper communication and coordination between developers
 Identification and management of work dependencies


 These dependencies are:
  Workflow Dependencies
  Coordination Requirements
Data Collection

 Examined two large software development projects:
   Project A
    Complex distributed system
    Data are covered for 3 years of development activity
    The company had 114 developers grouped into 8 development team
     and has 3 development locations
    ≃ 5 million lines of code distributed in 7,737 source code files in C
     language
   Project B
    Embedded software system
    40 developers in the project over a period of 5 years
    1.2 million lines of code developed in both C and C++ language
Data Collection

 In both projects, every change to source code was controlled
  by Modification Requests (MR)
 Every change made to Source code has to be committed to
  Version Control System

 Information Used for this Analysis:
    Collected a total of 8,257 and 3,372 MRs for Project A and
     Project B
    Version control system from both projects
    The source code itself from both projects
Measuring Failure

 Goal is to investigate failure proneness at the file level

 File Buggyness – indicates whether a file has been modified
  in the course of resolving a defect
Results

 Analysis consists of two stages:
    First Stage: Focus on examining the relative impact of
     each dependency type on failure proneness of source-
     code files
    Second Stage: Verified the consistency of the initial
     results by conduction a number of confirmatory analysis
 Constructed several logistic regression models
Results
 Model I:
   Based on LOC and Average Lines Changed
   LOC is positively associated with failure proneness
   Average lines changed is also positively associated with defects
 Model II:
   Introduces Syntactic Dependency measures by:
     Inflow Data
        Has significant impact on error proneness
     Inflow Functional
        This type of syntactic dependency has less impact on failure
         proneness
Results


 Model III:
   Higher number of logical dependencies related to an increase in
    the likelihood of failure
 Model IV:
   Workflow dependencies do increase the likelihood of defects
 Model V:
   Coordination requirement has an higher impact in Project A and
    lesser impact in Project B
Conclusion



 All dependencies increases fault proneness

 Logical Dependencies has the highest impact, followed by
  Workflow dependencies and then Syntactic Dependencies

More Related Content

Similar to Software dependencies, work dependencies and Failure Proneness

Effects of Ownership on Software Quality
 Effects of Ownership on Software Quality Effects of Ownership on Software Quality
Effects of Ownership on Software QualityMd. Shafiuzzaman Hira
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talkRay Buse
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
Reliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software ApplicationsReliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software ApplicationsCSEIJJournal
 
Managing Software Risk with CAST
Managing Software Risk with CASTManaging Software Risk with CAST
Managing Software Risk with CASTCAST
 
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, AustriaInauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, AustriaMartin Pinzger
 
A methodology to evaluate object oriented software systems using change requi...
A methodology to evaluate object oriented software systems using change requi...A methodology to evaluate object oriented software systems using change requi...
A methodology to evaluate object oriented software systems using change requi...ijseajournal
 
Contributors to Reduce Maintainability Cost at the Software Implementation Phase
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseContributors to Reduce Maintainability Cost at the Software Implementation Phase
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseWaqas Tariq
 
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Waqas Tariq
 
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...ijseajournal
 
INHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENT
INHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENTINHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENT
INHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENTijseajournal
 
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...IOSR Journals
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptTalhaFarooqui12
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models IJECEIAES
 

Similar to Software dependencies, work dependencies and Failure Proneness (20)

Effects of Ownership on Software Quality
 Effects of Ownership on Software Quality Effects of Ownership on Software Quality
Effects of Ownership on Software Quality
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talk
 
J034057065
J034057065J034057065
J034057065
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
Reliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software ApplicationsReliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software Applications
 
1811 1815
1811 18151811 1815
1811 1815
 
1811 1815
1811 18151811 1815
1811 1815
 
Managing Software Risk with CAST
Managing Software Risk with CASTManaging Software Risk with CAST
Managing Software Risk with CAST
 
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, AustriaInauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
 
A methodology to evaluate object oriented software systems using change requi...
A methodology to evaluate object oriented software systems using change requi...A methodology to evaluate object oriented software systems using change requi...
A methodology to evaluate object oriented software systems using change requi...
 
Contributors to Reduce Maintainability Cost at the Software Implementation Phase
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseContributors to Reduce Maintainability Cost at the Software Implementation Phase
Contributors to Reduce Maintainability Cost at the Software Implementation Phase
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
Cognitive Approach Towards the Maintenance of Web-Sites Through Quality Evalu...
 
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
 
INHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENT
INHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENTINHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENT
INHERENT QUALITY METRICS FOR CONTINUOUS SOFTWARE QUALITY ENHANCEMENT
 
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...
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.ppt
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 

Software dependencies, work dependencies and Failure Proneness

  • 1. Software Dependencies, Work Dependencies, and their impact on Failures Jeffrey A.Roberts, James D.Herbsleb, Marcelo cataldo and Audris Mockus Presented By Muthukumaran Kasinathan
  • 2. Introduction “Software faults are often the result of violated dependencies that are not recognized by developers implementing software” Research Questions  What is the relative impact of syntactic and logical dependencies on the failure proneness of a software system?  Do higher levels of work dependencies lead to higher levels of failure proneness of a software system?
  • 3. Software Dependencies  Syntactic Dependencies  Logical Dependencies  Work Dependencies
  • 4. Syntactic Dependencies “Syntactic dependencies will be computed between source code files by identifying data, function and method references crossing the boundary of each source code file ”  Focuses on Control and Dataflow relationships  These dependencies could be:  Inflow, Outflow Data Dependencies  Inflow, Outflow Functional Dependencies
  • 5. Logical Dependencies  Relate source-code files that are modified together as part of an MR  If only one file was changed for an MR, then there is no dependencies  Using the Commit information from the Version control system, a logical dependency matrix (LDM) was created  LDM is a symmetric matrix of source-code files where Cij represents the sum, across all releases, of the number of times files i and j were changed together as part of an MR
  • 6. Logical Dependencies “Logical Dependencies between the source code files will be calculated by identifying source code files that are changed together as part of software development”  Identifies important dependencies that are not visible or covered in Syntactic Dependencies.  These dependencies could be:  Number of Logical Dependencies  Clustering of Logical Dependencies
  • 7. Work Dependencies  Impact of human and organizational factors on the failure proneness of software systems  Impact of Lack of proper communication and coordination between developers  Identification and management of work dependencies  These dependencies are:  Workflow Dependencies  Coordination Requirements
  • 8. Data Collection  Examined two large software development projects:  Project A  Complex distributed system  Data are covered for 3 years of development activity  The company had 114 developers grouped into 8 development team and has 3 development locations  ≃ 5 million lines of code distributed in 7,737 source code files in C language  Project B  Embedded software system  40 developers in the project over a period of 5 years  1.2 million lines of code developed in both C and C++ language
  • 9. Data Collection  In both projects, every change to source code was controlled by Modification Requests (MR)  Every change made to Source code has to be committed to Version Control System  Information Used for this Analysis:  Collected a total of 8,257 and 3,372 MRs for Project A and Project B  Version control system from both projects  The source code itself from both projects
  • 10. Measuring Failure  Goal is to investigate failure proneness at the file level  File Buggyness – indicates whether a file has been modified in the course of resolving a defect
  • 11. Results  Analysis consists of two stages:  First Stage: Focus on examining the relative impact of each dependency type on failure proneness of source- code files  Second Stage: Verified the consistency of the initial results by conduction a number of confirmatory analysis  Constructed several logistic regression models
  • 12. Results  Model I:  Based on LOC and Average Lines Changed  LOC is positively associated with failure proneness  Average lines changed is also positively associated with defects  Model II:  Introduces Syntactic Dependency measures by:  Inflow Data  Has significant impact on error proneness  Inflow Functional  This type of syntactic dependency has less impact on failure proneness
  • 13. Results  Model III:  Higher number of logical dependencies related to an increase in the likelihood of failure  Model IV:  Workflow dependencies do increase the likelihood of defects  Model V:  Coordination requirement has an higher impact in Project A and lesser impact in Project B
  • 14. Conclusion  All dependencies increases fault proneness  Logical Dependencies has the highest impact, followed by Workflow dependencies and then Syntactic Dependencies