SlideShare a Scribd company logo
1 of 21
Paper Review
on
Don’t Touch My Code!
Examining the Effects of Ownership on Software Quality
Presented by
Md. Shafiuzzaman
MSSE 0310
Introduction of the Paper
• Authors:
• Christian Bird, Nachiappan Nagappan, Brendan Murphy, Microsoft Research, Redmond, USA
• Harald Gall, University of Zurich, Switzerland
• Premkumar Devanbu, University of California, USA
• Published in: ESEC/FSE '11 Proceedings of the 19th ACM SIGSOFT symposium and the 13th European
conference on Foundations of software engineering
• Publication Year: 2011
Switzerland
Area of Inquiry
 Effects of Ownership on Software Quality
 Ownership in Software Engineering: one person has responsibility for a software component
Research Questions
• How much does ownership affect quality?
• Sub-questions:
• How to define and validate measures of ownership that are related to software quality?
• How to define effect of these measures of ownership on software defects in quantitative
terms?
Theory & Related Work
Curtis et al.: Thin spread of application domain knowledge affect software quality
Fritz et al.: Ability of a developer to answer questions about a piece of code is
determined by whether the developer had authored some of the code and how much
time was spent authoring it
Mockus et al.: A piece of code of experienced developer are less likely to induce
failure
Sacks et al.: Developers gain project and component specific knowledge as they
repeatedly perform tasks on the same systems
Theory & Related Work
Banker et al.: Experience increases a developer's knowledge of the architectural
domain of the system
Basili et al.: Reusing knowledge, products and experience, companies can maintain
high quality levels because developers do not need to constantly acquire new
knowledge and expertise as they work on different projects
Brooks et al.: Sharing and integrating knowledge across all members delay tasks
Ownership metrics
• Software Component: A unit of development that has some core functionality
• Contributor: Someone who has made commits/software changes to a component.
• Proportion of Ownership: Ratio of number of commits that the contributor has
made relative to the total number of commits for that component.
• Minor Contributor: Ownership is below 5%
• Major Contributor: Ownership is at or above 5%
Hypothesis
• Hypothesis 1 - Software components with many minor contributors will have more failures
than software components that have fewer.
• Hypothesis 2 - Software components with a high level of ownership will have fewer
failures than components with lower top ownership levels.
• Hypothesis 3 - Minor contributors to components will be major contributors to other
components that are related through dependency relationships
• Hypothesis 4 - Removal of minor contribution information from defect prediction
techniques will decrease performance dramatically.
Quantitative Terminologies
• Minor: Number of minor contributors
• Major: Number of major contributors
• Total: Total number of contributors
• Ownership: Proportion of ownership for the contributor with the highest
proportion of ownership
Example
Total Commits: 918
Commits of Top contributing
Engineer: 379
Ownership: 41%
Data Collection
• Windows Vista and Windows 7
• Software developers who contributed in those projects
• Executable files (.exe), shared libraries(.dll) and drivers (.sys)
• Pre-release defects
• Post-release failures
Data Types
• Commit histories
• Software failures
• Repositories records (Change history, change author, time of change, log
message)
• Number of changes made by each developer to each source file
Analysis Technique
• Correlation analysis:
• Is there any relationship between ownership and software quality?
• How strong the relationship is?
• Linear regression:
• Is there any effect of ownership variables on failures?
• How large the effect is?
• In what direction (i.e. if failures go up when a metric goes up or when it goes down)?
• How much of the variance in the number of failures is explained by the metrics?
Correlation analysis
The results indicate pre- and post-release defects have strong relationships with Minor, Total, and Ownership
Relationship between code
attributes and ownership metrics
B.dll has more failures than A.dll
Linear regression
**The value in parentheses indicates the percent increase in variance explained over the model without the
added variable
Results of analysis
• The number of minor contributors has a strong positive relationship with both pre-
and post-release failures.
• Higher levels of ownership for the top contributor to a component results in fewer
failures but the effect is smaller than the number of minor contributors.
• Ownership has a stronger relationship with pre-release failures than post-release
failures.
• Measures of ownership and standard code measures show a much smaller
relationship to post-release failures in Windows 7.
Effects Of Minor Contributors
• Dependency Analysis
Effects Of Minor Contributors
• Network Metrics
Findings
• Both versions of Windows, ownership does indeed have a relationship with code
quality.
• In all projects, the addition of Minor improved the regression models for both pre-
and post-release failures to a statistically significant degree
• Minor contributors to components have a dependency relationships with major
contributors to other components
• Removal of minor contribution information from defect prediction techniques
decreases performance dramatically
Recommendations
• Changes made by minor contributors should be reviewed with more scrutiny
• Potential minor contributors should communicate desired changes to
developers experienced with the respective binary
• Components with low ownership should be given priority by QA resources

More Related Content

What's hot

Software engineering 13 software product metrics
Software engineering 13 software product metricsSoftware engineering 13 software product metrics
Software engineering 13 software product metricsVaibhav Khanna
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro pptNancyBeaulah_R
 
Splitting The Check On Compliance and Security
Splitting The Check On Compliance and SecuritySplitting The Check On Compliance and Security
Splitting The Check On Compliance and SecurityNew Relic
 
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...South Tyrol Free Software Conference
 
Continuous integration with Drone.IO
Continuous integration with Drone.IOContinuous integration with Drone.IO
Continuous integration with Drone.IOHoffman Lab
 
Architecting C Sharp for Cross Cutting Concerns
Architecting C Sharp for Cross Cutting ConcernsArchitecting C Sharp for Cross Cutting Concerns
Architecting C Sharp for Cross Cutting ConcernsMike Byrne
 
CASA: Context-Aware Scalable Authentication, at SOUPS 2013
CASA: Context-Aware Scalable Authentication, at SOUPS 2013CASA: Context-Aware Scalable Authentication, at SOUPS 2013
CASA: Context-Aware Scalable Authentication, at SOUPS 2013Jason Hong
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project ManagmentSaqib Naveed
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1IIUI
 
MSR End of Internship Talk
MSR End of Internship TalkMSR End of Internship Talk
MSR End of Internship TalkRay Buse
 
Promise 2011: "Empirical validation of human factors on predicting issue reso...
Promise 2011: "Empirical validation of human factors on predicting issue reso...Promise 2011: "Empirical validation of human factors on predicting issue reso...
Promise 2011: "Empirical validation of human factors on predicting issue reso...CS, NcState
 
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Eero Laukkanen
 

What's hot (14)

Software engineering 13 software product metrics
Software engineering 13 software product metricsSoftware engineering 13 software product metrics
Software engineering 13 software product metrics
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
Splitting The Check On Compliance and Security
Splitting The Check On Compliance and SecuritySplitting The Check On Compliance and Security
Splitting The Check On Compliance and Security
 
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
 
Embedded world 2017
Embedded world 2017Embedded world 2017
Embedded world 2017
 
Continuous integration with Drone.IO
Continuous integration with Drone.IOContinuous integration with Drone.IO
Continuous integration with Drone.IO
 
Architecting C Sharp for Cross Cutting Concerns
Architecting C Sharp for Cross Cutting ConcernsArchitecting C Sharp for Cross Cutting Concerns
Architecting C Sharp for Cross Cutting Concerns
 
CASA: Context-Aware Scalable Authentication, at SOUPS 2013
CASA: Context-Aware Scalable Authentication, at SOUPS 2013CASA: Context-Aware Scalable Authentication, at SOUPS 2013
CASA: Context-Aware Scalable Authentication, at SOUPS 2013
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project Managment
 
Structured Design
Structured DesignStructured Design
Structured Design
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
MSR End of Internship Talk
MSR End of Internship TalkMSR End of Internship Talk
MSR End of Internship Talk
 
Promise 2011: "Empirical validation of human factors on predicting issue reso...
Promise 2011: "Empirical validation of human factors on predicting issue reso...Promise 2011: "Empirical validation of human factors on predicting issue reso...
Promise 2011: "Empirical validation of human factors on predicting issue reso...
 
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
 

Viewers also liked

operation management
operation managementoperation management
operation managementKiran Gohil
 
Analysis of mysql and postgresql
Analysis of mysql and postgresqlAnalysis of mysql and postgresql
Analysis of mysql and postgresqlAsif Anik
 
Panacea presentation for teh institute of information technology (2)
Panacea presentation for teh institute of information technology (2)Panacea presentation for teh institute of information technology (2)
Panacea presentation for teh institute of information technology (2)Asif Anik
 
Internship midterm presentation @ graphic people
Internship midterm presentation @ graphic peopleInternship midterm presentation @ graphic people
Internship midterm presentation @ graphic peopleSamsuddoha Sams
 
Internship Presentation
Internship PresentationInternship Presentation
Internship PresentationMinhas Kamal
 
Software design of library circulation system
Software design of  library circulation systemSoftware design of  library circulation system
Software design of library circulation systemMd. Shafiuzzaman Hira
 
Design Patterns on Service Abstraction
Design Patterns on Service Abstraction Design Patterns on Service Abstraction
Design Patterns on Service Abstraction Md. Shafiuzzaman Hira
 
MID Presentation about M&H Informatics(BD) LTD
MID Presentation about M&H Informatics(BD) LTDMID Presentation about M&H Informatics(BD) LTD
MID Presentation about M&H Informatics(BD) LTDLikhan Banik
 
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORSGARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORSMd. Shafiuzzaman Hira
 
Internship report presentation on cloud computing
Internship report presentation on cloud computingInternship report presentation on cloud computing
Internship report presentation on cloud computingAsif Anik
 
PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...
PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...
PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...Chunyuan Liao
 
Semantics And Multimedia
Semantics And MultimediaSemantics And Multimedia
Semantics And MultimediaPeter Berger
 
Biobased Biodegradable Food Packaging
Biobased Biodegradable Food PackagingBiobased Biodegradable Food Packaging
Biobased Biodegradable Food PackagingQngroup
 
Paper-Based Piezoelectric Touch Pads
Paper-Based Piezoelectric Touch PadsPaper-Based Piezoelectric Touch Pads
Paper-Based Piezoelectric Touch PadsVicky Wang
 
Touch paper presentation-tarek
Touch paper presentation-tarekTouch paper presentation-tarek
Touch paper presentation-tarekTarek Gaber
 

Viewers also liked (20)

operation management
operation managementoperation management
operation management
 
Analysis of mysql and postgresql
Analysis of mysql and postgresqlAnalysis of mysql and postgresql
Analysis of mysql and postgresql
 
Panacea presentation for teh institute of information technology (2)
Panacea presentation for teh institute of information technology (2)Panacea presentation for teh institute of information technology (2)
Panacea presentation for teh institute of information technology (2)
 
Internship midterm presentation @ graphic people
Internship midterm presentation @ graphic peopleInternship midterm presentation @ graphic people
Internship midterm presentation @ graphic people
 
Internship Presentation
Internship PresentationInternship Presentation
Internship Presentation
 
Software Engineering Internship
Software Engineering InternshipSoftware Engineering Internship
Software Engineering Internship
 
Software design of library circulation system
Software design of  library circulation systemSoftware design of  library circulation system
Software design of library circulation system
 
Design Patterns on Service Abstraction
Design Patterns on Service Abstraction Design Patterns on Service Abstraction
Design Patterns on Service Abstraction
 
MID Presentation about M&H Informatics(BD) LTD
MID Presentation about M&H Informatics(BD) LTDMID Presentation about M&H Informatics(BD) LTD
MID Presentation about M&H Informatics(BD) LTD
 
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORSGARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
 
Internship Report
Internship Report Internship Report
Internship Report
 
Internship report presentation on cloud computing
Internship report presentation on cloud computingInternship report presentation on cloud computing
Internship report presentation on cloud computing
 
SRS of Library Circulation System
SRS of Library Circulation SystemSRS of Library Circulation System
SRS of Library Circulation System
 
PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...
PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...
PACER: Fine-grained Interactive Paper via Hybrid Camera and Touch Gestures on...
 
Films and paper tear strength tester
Films and paper tear strength testerFilms and paper tear strength tester
Films and paper tear strength tester
 
Semantics And Multimedia
Semantics And MultimediaSemantics And Multimedia
Semantics And Multimedia
 
Biobased Biodegradable Food Packaging
Biobased Biodegradable Food PackagingBiobased Biodegradable Food Packaging
Biobased Biodegradable Food Packaging
 
Paper-Based Piezoelectric Touch Pads
Paper-Based Piezoelectric Touch PadsPaper-Based Piezoelectric Touch Pads
Paper-Based Piezoelectric Touch Pads
 
Touch paper presentation-tarek
Touch paper presentation-tarekTouch paper presentation-tarek
Touch paper presentation-tarek
 
SiOx Nanoparticals.PDF
SiOx Nanoparticals.PDFSiOx Nanoparticals.PDF
SiOx Nanoparticals.PDF
 

Similar to Effects of Ownership on Software Quality

Software dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure PronenessSoftware dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure PronenessMuthukumaran Kasinathan
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareAnn Marie Neufelder
 
Software engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research resultsSoftware engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research resultsNikolai Avteniev
 
Sources of errors in distributed development projects implications for colla...
Sources of errors in distributed development projects implications for colla...Sources of errors in distributed development projects implications for colla...
Sources of errors in distributed development projects implications for colla...Bhagyashree Deokar
 
The Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and TomorrowThe Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and TomorrowM Firdaus Harun
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptTalhaFarooqui12
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talkRay Buse
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3REHAN IJAZ
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software EngineeringDrishti Bhalla
 
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijboughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijakd3143
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarXBOSoft
 

Similar to Effects of Ownership on Software Quality (20)

Software dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure PronenessSoftware dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure Proneness
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
 
Software engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research resultsSoftware engineering practices and software quality empirical research results
Software engineering practices and software quality empirical research results
 
Sources of errors in distributed development projects implications for colla...
Sources of errors in distributed development projects implications for colla...Sources of errors in distributed development projects implications for colla...
Sources of errors in distributed development projects implications for colla...
 
Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...
 
How to improve the quality of your application
How to improve the quality of your applicationHow to improve the quality of your application
How to improve the quality of your application
 
The Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and TomorrowThe Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and Tomorrow
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.ppt
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talk
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 
1811 1815
1811 18151811 1815
1811 1815
 
1811 1815
1811 18151811 1815
1811 1815
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijboughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
 
Lecture 1 se
Lecture 1 seLecture 1 se
Lecture 1 se
 
ST UNIT-1.pptx
ST UNIT-1.pptxST UNIT-1.pptx
ST UNIT-1.pptx
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 

More from Md. Shafiuzzaman Hira (20)

Introduction to Web development
Introduction to Web developmentIntroduction to Web development
Introduction to Web development
 
Software measurement and estimation
Software measurement and estimationSoftware measurement and estimation
Software measurement and estimation
 
Why do we test software?
Why do we test software?Why do we test software?
Why do we test software?
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Software architectural patterns
Software architectural patternsSoftware architectural patterns
Software architectural patterns
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
 
Class diagram
Class diagramClass diagram
Class diagram
 
State diagram
State diagramState diagram
State diagram
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
 
User stories
User storiesUser stories
User stories
 
Dev ops
Dev opsDev ops
Dev ops
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Introduction to Software Engineering Course
Introduction to Software Engineering CourseIntroduction to Software Engineering Course
Introduction to Software Engineering Course
 
C files
C filesC files
C files
 
C pointers
C pointersC pointers
C pointers
 
C structures
C structuresC structures
C structures
 
How to Create Python scripts
How to Create Python scriptsHow to Create Python scripts
How to Create Python scripts
 
Regular expressions using Python
Regular expressions using PythonRegular expressions using Python
Regular expressions using Python
 
Password locker project
Password locker project Password locker project
Password locker project
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

Effects of Ownership on Software Quality

  • 1. Paper Review on Don’t Touch My Code! Examining the Effects of Ownership on Software Quality Presented by Md. Shafiuzzaman MSSE 0310
  • 2. Introduction of the Paper • Authors: • Christian Bird, Nachiappan Nagappan, Brendan Murphy, Microsoft Research, Redmond, USA • Harald Gall, University of Zurich, Switzerland • Premkumar Devanbu, University of California, USA • Published in: ESEC/FSE '11 Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering • Publication Year: 2011 Switzerland
  • 3. Area of Inquiry  Effects of Ownership on Software Quality  Ownership in Software Engineering: one person has responsibility for a software component
  • 4. Research Questions • How much does ownership affect quality? • Sub-questions: • How to define and validate measures of ownership that are related to software quality? • How to define effect of these measures of ownership on software defects in quantitative terms?
  • 5. Theory & Related Work Curtis et al.: Thin spread of application domain knowledge affect software quality Fritz et al.: Ability of a developer to answer questions about a piece of code is determined by whether the developer had authored some of the code and how much time was spent authoring it Mockus et al.: A piece of code of experienced developer are less likely to induce failure Sacks et al.: Developers gain project and component specific knowledge as they repeatedly perform tasks on the same systems
  • 6. Theory & Related Work Banker et al.: Experience increases a developer's knowledge of the architectural domain of the system Basili et al.: Reusing knowledge, products and experience, companies can maintain high quality levels because developers do not need to constantly acquire new knowledge and expertise as they work on different projects Brooks et al.: Sharing and integrating knowledge across all members delay tasks
  • 7. Ownership metrics • Software Component: A unit of development that has some core functionality • Contributor: Someone who has made commits/software changes to a component. • Proportion of Ownership: Ratio of number of commits that the contributor has made relative to the total number of commits for that component. • Minor Contributor: Ownership is below 5% • Major Contributor: Ownership is at or above 5%
  • 8. Hypothesis • Hypothesis 1 - Software components with many minor contributors will have more failures than software components that have fewer. • Hypothesis 2 - Software components with a high level of ownership will have fewer failures than components with lower top ownership levels. • Hypothesis 3 - Minor contributors to components will be major contributors to other components that are related through dependency relationships • Hypothesis 4 - Removal of minor contribution information from defect prediction techniques will decrease performance dramatically.
  • 9. Quantitative Terminologies • Minor: Number of minor contributors • Major: Number of major contributors • Total: Total number of contributors • Ownership: Proportion of ownership for the contributor with the highest proportion of ownership
  • 10. Example Total Commits: 918 Commits of Top contributing Engineer: 379 Ownership: 41%
  • 11. Data Collection • Windows Vista and Windows 7 • Software developers who contributed in those projects • Executable files (.exe), shared libraries(.dll) and drivers (.sys) • Pre-release defects • Post-release failures
  • 12. Data Types • Commit histories • Software failures • Repositories records (Change history, change author, time of change, log message) • Number of changes made by each developer to each source file
  • 13. Analysis Technique • Correlation analysis: • Is there any relationship between ownership and software quality? • How strong the relationship is? • Linear regression: • Is there any effect of ownership variables on failures? • How large the effect is? • In what direction (i.e. if failures go up when a metric goes up or when it goes down)? • How much of the variance in the number of failures is explained by the metrics?
  • 14. Correlation analysis The results indicate pre- and post-release defects have strong relationships with Minor, Total, and Ownership
  • 15. Relationship between code attributes and ownership metrics B.dll has more failures than A.dll
  • 16. Linear regression **The value in parentheses indicates the percent increase in variance explained over the model without the added variable
  • 17. Results of analysis • The number of minor contributors has a strong positive relationship with both pre- and post-release failures. • Higher levels of ownership for the top contributor to a component results in fewer failures but the effect is smaller than the number of minor contributors. • Ownership has a stronger relationship with pre-release failures than post-release failures. • Measures of ownership and standard code measures show a much smaller relationship to post-release failures in Windows 7.
  • 18. Effects Of Minor Contributors • Dependency Analysis
  • 19. Effects Of Minor Contributors • Network Metrics
  • 20. Findings • Both versions of Windows, ownership does indeed have a relationship with code quality. • In all projects, the addition of Minor improved the regression models for both pre- and post-release failures to a statistically significant degree • Minor contributors to components have a dependency relationships with major contributors to other components • Removal of minor contribution information from defect prediction techniques decreases performance dramatically
  • 21. Recommendations • Changes made by minor contributors should be reviewed with more scrutiny • Potential minor contributors should communicate desired changes to developers experienced with the respective binary • Components with low ownership should be given priority by QA resources