SlideShare uma empresa Scribd logo
1 de 11
Tools for
Software Engineers
Code Ownership and Software Quality:
A Replication Study
Michaela Greiler
Microsoft Corporation
Redmond, USA
mgreiler@microsoft.com
Kim Herzig
Microsoft Corporation
Cambridge, UK
kimh@microsoft.com
Jacek Czerwonka
Microsoft Corporation
Redmond, USA
jacekcz@microsoft.com
Ownership
• Rights and duties in regard to an object, for example a property.
Definition
• The person that wrote the code.
• Or person with the highest contribution to artefact.
On source code
Code ownership relates to responsibility/knowledge about code.
Assumption: Lack of responsibility/knowledge can reduce code quality.
Previous studies
C. Bird, N. Nagappan, B. Murphy, H. Gall and P. Devanbu,
"Don‘t Touch My Code!: Examining the Effects of Ownership
on Software Quality," in Proceedings of the 19th ACM SIGSOFT
Symposium and the 13th European Conference on Foundations
of Software Engineering, 2011.
M. Foucault, J.-R. Falleri and X. Blanc, "Code ownership in open-
source software," in Proceedings of the 18th International
Conference on Evaluation and Assessment in Software
Engineering, New York, 2014.
• Windows Vista and Windows 7
• Ownership on binary level
• Spearman rank correlation with
pre-release and post-release
defects.
• Removal of low-expertise
contributions can increase the
quality of the software system.
• Open source software systems
• Package and file level (Java)
• Spearman rank correlations with
pre-release bugs.
• Strong correlation between
ownership metrics and faults only
for half of the systems.
Measuring
• Reflect notion of responsibility
• “how many engineers are currently contributing to
the code and does a main contributor exist?”
Our definition of ownership
• Must be applicable for file and directory level
• Focus is on recent changes
Metrics based on file changes
• Defects detected during development
• Or post-release defects of earlier version.
Using pre-release defects
File level metrics
• A contributor has made
commits/software changes to the
software component.
• A major /minor contributor(s)
applied more/less than 50% of changes to
a component.
• Ownership relative number of commits
contributed by major contributor ( 60%)
• Organizational structure uses
management structures to define team
ownership.
Contributor 1
6 changes
60% ownership
Contributor 2
3 changes
30% ownership
Contributor 3
1 change
10% ownership
Experimental setup
Study Subjects (each 100k+ files, 1k+ engineers)
 Office (OF15 and OF16),
 Office365 (O365),
 Exchange (Ex13 and Ex15), and
 Windows (Windows 8.1).
Data gathering
 Microsoft internal mining tool called CodeMine
Statistical tests and bug prediction
 Spearman rank correlation
 Random forest machine learners
Qualitative evaluation
 Feedback loops with product teams (discussions and 1-1 meetings)
Stronger ownership good for files
• Spearman correlations are similar for all products
• Team ownership metrics do not perform as well as individual
metrics
Higher quality Lower quality
Higher ownership
90%
ownership
10%
ownership
More contributors
Weak ownership bad for directories
Lower quality
Small lowest ownership
90% ownership
60% ownership
20% ownership
5% ownership
Higher quality
High ratio of minor contributors
ratio
Major
contributors
Minor
contributors
• Detailed knowledge about impact required
• May have unknown side effects (gaming the system)
Do not enforce strong ownership
• Unclear / undecided about accountability
If possible: assign owner to weakly owned files/directories
Engineers’ recommendations
• Understand the mechanisms and dynamics at play
• Files not known to be weakly owned are risky
Weakly owned files should be reviewed
• Through recommender or simple website to look up
• Especially if strong ownership not possible or desired
Use ownership as risk factor
Questions? Feedback?
Contact us!
Michaela Greiler
Microsoft Corporation
Redmond, USA
mgreiler@microsoft.com
Kim Herzig
Microsoft Corporation
Cambridge, UK
kimh@microsoft.com
Jacek Czerwonka
Microsoft Corporation
Redmond, USA
jacekcz@microsoft.com
Ownership impacts code quality
• At Microsoft
• Not only for Windows
• On file and directory level
Investigation of ownership
• Spearman rank correlations
• Random forest classification
• Metric importance (in paper)
• Interviews and discussions
Conclusion
Much more material in paper!
Tools for
Software Engineers
Code Ownership and Software Quality: A Replication Study @ MSR 2015

Mais conteúdo relacionado

Semelhante a Code Ownership and Software Quality: A Replication Study @ MSR 2015

Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?Michaela Greiler
 
Using HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsUsing HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsThe University of Adelaide
 
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
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020Ralf Laemmel
 
Use Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device FragmentationUse Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device FragmentationJosiah Renaudin
 
AI, Search, and the Disruption of Knowledge Management
AI, Search, and the Disruption of Knowledge ManagementAI, Search, and the Disruption of Knowledge Management
AI, Search, and the Disruption of Knowledge ManagementTrey Grainger
 
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
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)Tao Xie
 
Risk Management for LLMs
Risk Management for LLMsRisk Management for LLMs
Risk Management for LLMsSri Ambati
 
Enhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsEnhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsTechWell
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software ArchitectureChris F Carroll
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecurityTao Xie
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 

Semelhante a Code Ownership and Software Quality: A Replication Study @ MSR 2015 (20)

Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
 
Using HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsUsing HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review Analytics
 
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
 
Org And Sw Quality
Org And Sw QualityOrg And Sw Quality
Org And Sw Quality
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020
 
Software Design
Software DesignSoftware Design
Software Design
 
Use Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device FragmentationUse Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device Fragmentation
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
AI, Search, and the Disruption of Knowledge Management
AI, Search, and the Disruption of Knowledge ManagementAI, Search, and the Disruption of Knowledge Management
AI, Search, and the Disruption of Knowledge Management
 
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
 
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
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Risk Management for LLMs
Risk Management for LLMsRisk Management for LLMs
Risk Management for LLMs
 
Enhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsEnhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code Forensics
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
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
 

Mais de Kim Herzig

Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015Kim Herzig
 
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015Kim Herzig
 
Issre2014 test defectprediction
Issre2014 test defectpredictionIssre2014 test defectprediction
Issre2014 test defectpredictionKim Herzig
 
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...Kim Herzig
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Kim Herzig
 
The Impact of Tangled Code Changes
The Impact of Tangled Code ChangesThe Impact of Tangled Code Changes
The Impact of Tangled Code ChangesKim Herzig
 
Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011Kim Herzig
 
Network vs. Code Metrics to Predict Defects: A Replication Study
Network vs. Code Metrics  to Predict Defects: A Replication StudyNetwork vs. Code Metrics  to Predict Defects: A Replication Study
Network vs. Code Metrics to Predict Defects: A Replication StudyKim Herzig
 
Capturing the Long Term Impact of Changes
Capturing the Long Term Impact of ChangesCapturing the Long Term Impact of Changes
Capturing the Long Term Impact of ChangesKim Herzig
 
Software Engineering Course 2009 - Mining Software Archives
Software Engineering Course 2009 - Mining Software ArchivesSoftware Engineering Course 2009 - Mining Software Archives
Software Engineering Course 2009 - Mining Software ArchivesKim Herzig
 

Mais de Kim Herzig (10)

Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
Empirically Detecting False Test Alarms Using Association Rules @ ICSE 2015
 
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
 
Issre2014 test defectprediction
Issre2014 test defectpredictionIssre2014 test defectprediction
Issre2014 test defectprediction
 
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)
 
The Impact of Tangled Code Changes
The Impact of Tangled Code ChangesThe Impact of Tangled Code Changes
The Impact of Tangled Code Changes
 
Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011
 
Network vs. Code Metrics to Predict Defects: A Replication Study
Network vs. Code Metrics  to Predict Defects: A Replication StudyNetwork vs. Code Metrics  to Predict Defects: A Replication Study
Network vs. Code Metrics to Predict Defects: A Replication Study
 
Capturing the Long Term Impact of Changes
Capturing the Long Term Impact of ChangesCapturing the Long Term Impact of Changes
Capturing the Long Term Impact of Changes
 
Software Engineering Course 2009 - Mining Software Archives
Software Engineering Course 2009 - Mining Software ArchivesSoftware Engineering Course 2009 - Mining Software Archives
Software Engineering Course 2009 - Mining Software Archives
 

Último

FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEFARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowChennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowapshanarani255
 
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7Sana Rajpoot
 
Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...
Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...
Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...Monika Rani
 
Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...
Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...
Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...apshanarani255
 
Raipur ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book now
Raipur  ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book nowRaipur  ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book now
Raipur ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book nowapshanarani255
 
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotRajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotSivanyaPandeya
 
Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...
Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...
Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...oyomaster143
 
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL INKota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL INoyomaster143
 
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...apshanarani255
 
Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book nowIndore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book nowapshanarani255
 
Berhampur Call Girl 97487*63073 Call Girls in Berhampur Escort service book now
Berhampur  Call Girl 97487*63073 Call Girls in Berhampur Escort service book nowBerhampur  Call Girl 97487*63073 Call Girls in Berhampur Escort service book now
Berhampur Call Girl 97487*63073 Call Girls in Berhampur Escort service book nowapshanarani255
 
Mysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book now
Mysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book nowMysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book now
Mysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book nowapshanarani255
 
Udupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort serviceUdupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort servicemaheshsingh64440
 
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...oyomaster143
 
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRLMysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRLkantirani197
 
lahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahorelahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahoreDeny Daniel
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowapshanarani255
 
Dehradun ❣️ Call Girl 97487*63073 Call Girls in Dehradun Escort service book...
Dehradun ❣️  Call Girl 97487*63073 Call Girls in Dehradun Escort service book...Dehradun ❣️  Call Girl 97487*63073 Call Girls in Dehradun Escort service book...
Dehradun ❣️ Call Girl 97487*63073 Call Girls in Dehradun Escort service book...apshanarani255
 
Indore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort serviceIndore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort servicemaheshsingh64440
 

Último (20)

FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEFARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowChennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
 
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
Call Girls in Karachi || 03274100048 || 50+ Hot Sexy Girls Available 24/7
 
Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...
Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...
Vip profile Call Girls In Hyderabad 9748763073 For Genuine Sex Service At Jus...
 
Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...
Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...
Bhubaneswar ❣️ Call Girl 9748763073 Call Girls in Bhubaneswar Escort service ...
 
Raipur ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book now
Raipur  ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book nowRaipur  ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book now
Raipur ❣️ Call Girl 97487*63073 Call Girls in Raipur Escort service book now
 
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotRajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
 
Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...
Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...
Hyderabad ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Hyderabad ESCORT SERVICE❤CALL ...
 
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL INKota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
 
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
 
Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book nowIndore  ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
Indore ❣️Call Girl 97487*63073 Call Girls in Indore Escort service book now
 
Berhampur Call Girl 97487*63073 Call Girls in Berhampur Escort service book now
Berhampur  Call Girl 97487*63073 Call Girls in Berhampur Escort service book nowBerhampur  Call Girl 97487*63073 Call Girls in Berhampur Escort service book now
Berhampur Call Girl 97487*63073 Call Girls in Berhampur Escort service book now
 
Mysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book now
Mysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book nowMysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book now
Mysore 💋 Call Girl 9748763073 Call Girls in Mysore Escort service book now
 
Udupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort serviceUdupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort service
 
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
 
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRLMysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
Mysore ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Mysore ESCORT SERVICE❤CALL GIRL
 
lahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahorelahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahore
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
 
Dehradun ❣️ Call Girl 97487*63073 Call Girls in Dehradun Escort service book...
Dehradun ❣️  Call Girl 97487*63073 Call Girls in Dehradun Escort service book...Dehradun ❣️  Call Girl 97487*63073 Call Girls in Dehradun Escort service book...
Dehradun ❣️ Call Girl 97487*63073 Call Girls in Dehradun Escort service book...
 
Indore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort serviceIndore Call girl service 6289102337 indore escort service
Indore Call girl service 6289102337 indore escort service
 

Code Ownership and Software Quality: A Replication Study @ MSR 2015

  • 1. Tools for Software Engineers Code Ownership and Software Quality: A Replication Study Michaela Greiler Microsoft Corporation Redmond, USA mgreiler@microsoft.com Kim Herzig Microsoft Corporation Cambridge, UK kimh@microsoft.com Jacek Czerwonka Microsoft Corporation Redmond, USA jacekcz@microsoft.com
  • 2. Ownership • Rights and duties in regard to an object, for example a property. Definition • The person that wrote the code. • Or person with the highest contribution to artefact. On source code Code ownership relates to responsibility/knowledge about code. Assumption: Lack of responsibility/knowledge can reduce code quality.
  • 3. Previous studies C. Bird, N. Nagappan, B. Murphy, H. Gall and P. Devanbu, "Don‘t Touch My Code!: Examining the Effects of Ownership on Software Quality," in Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, 2011. M. Foucault, J.-R. Falleri and X. Blanc, "Code ownership in open- source software," in Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, New York, 2014. • Windows Vista and Windows 7 • Ownership on binary level • Spearman rank correlation with pre-release and post-release defects. • Removal of low-expertise contributions can increase the quality of the software system. • Open source software systems • Package and file level (Java) • Spearman rank correlations with pre-release bugs. • Strong correlation between ownership metrics and faults only for half of the systems.
  • 4. Measuring • Reflect notion of responsibility • “how many engineers are currently contributing to the code and does a main contributor exist?” Our definition of ownership • Must be applicable for file and directory level • Focus is on recent changes Metrics based on file changes • Defects detected during development • Or post-release defects of earlier version. Using pre-release defects
  • 5. File level metrics • A contributor has made commits/software changes to the software component. • A major /minor contributor(s) applied more/less than 50% of changes to a component. • Ownership relative number of commits contributed by major contributor ( 60%) • Organizational structure uses management structures to define team ownership. Contributor 1 6 changes 60% ownership Contributor 2 3 changes 30% ownership Contributor 3 1 change 10% ownership
  • 6. Experimental setup Study Subjects (each 100k+ files, 1k+ engineers)  Office (OF15 and OF16),  Office365 (O365),  Exchange (Ex13 and Ex15), and  Windows (Windows 8.1). Data gathering  Microsoft internal mining tool called CodeMine Statistical tests and bug prediction  Spearman rank correlation  Random forest machine learners Qualitative evaluation  Feedback loops with product teams (discussions and 1-1 meetings)
  • 7. Stronger ownership good for files • Spearman correlations are similar for all products • Team ownership metrics do not perform as well as individual metrics Higher quality Lower quality Higher ownership 90% ownership 10% ownership More contributors
  • 8. Weak ownership bad for directories Lower quality Small lowest ownership 90% ownership 60% ownership 20% ownership 5% ownership Higher quality High ratio of minor contributors ratio Major contributors Minor contributors
  • 9. • Detailed knowledge about impact required • May have unknown side effects (gaming the system) Do not enforce strong ownership • Unclear / undecided about accountability If possible: assign owner to weakly owned files/directories Engineers’ recommendations • Understand the mechanisms and dynamics at play • Files not known to be weakly owned are risky Weakly owned files should be reviewed • Through recommender or simple website to look up • Especially if strong ownership not possible or desired Use ownership as risk factor
  • 10. Questions? Feedback? Contact us! Michaela Greiler Microsoft Corporation Redmond, USA mgreiler@microsoft.com Kim Herzig Microsoft Corporation Cambridge, UK kimh@microsoft.com Jacek Czerwonka Microsoft Corporation Redmond, USA jacekcz@microsoft.com Ownership impacts code quality • At Microsoft • Not only for Windows • On file and directory level Investigation of ownership • Spearman rank correlations • Random forest classification • Metric importance (in paper) • Interviews and discussions Conclusion Much more material in paper! Tools for Software Engineers