[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3593434.3593480acmotherconferencesArticle/Chapter ViewAbstractPublication PageseaseConference Proceedingsconference-collections
research-article
Open access

U Owns the Code That Changes and How Marginal Owners Resolve Issues Slower in Low-Quality Source Code

Published: 14 June 2023 Publication History

Abstract

[Context] Accurate time estimation is a critical aspect of predictable software engineering. Previous work shows that low source code quality increases the uncertainty in issue resolution times. [Objective] Our goal is to evaluate how developers’ project experience and file ownership are related to issue resolution times. [Method] We mine 40 proprietary software repositories and conduct an observational study. Using CodeScene, we measure source code quality and active development time connected to Jira issues. [Results] Most source code changes are made by either a marginal or dominant code owner. Also, most changes to low-quality source code are made by developers with low levels of ownership. In low-quality source code, marginal owners need 45% more time for small changes, and 93% more time for large changes. [Conclusions] Collective code ownership is a popular target, but industry practice results in many dominant and marginal owners. Marginal owners are particularly hampered when working with low-quality source code, which leads to productivity losses. In codebases plagued by technical debt, newly onboarded developers will require more time to complete tasks.

References

[1]
Jose Fortuna Abrantes and Guilherme Horta Travassos. 2011. Common Agile Practices in Software Processes. In Proc. of the 5th International Symposium on Empirical Software Engineering and Measurement. 355–358.
[2]
Abdullah Al-Boghdady, Khaled Wassif, and Mohammad El-Ramly. 2021. The Presence, Trends, and Causes of Security Vulnerabilities in Operating Systems of IoT’s Low-End Devices. Sensors 21, 7 (2021), 2329.
[3]
Khaled Walid Al-Sabbagh, Miroslaw Staron, and Regina Hebig. 2022. Improving Test Case Selection by Handling Class and Attribute Noise. Journal of Systems and Software 183 (2022), 111093.
[4]
Areti Ampatzoglou, Alexandros Michailidis, Christos Sarikyriakidis, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, and Paris Avgeriou. 2018. A Framework for Managing Interest in Technical Debt: An Industrial Validation. In Proc. of the 1st International Conference on Technical Debt. 115–124.
[5]
Jorge Aranda and Gina Venolia. 2009. The Secret Life of Bugs: Going Past the Errors and Omissions in Software Repositories. In Proc. of the 31st Int’l. Conference on Software Engineering. 298–308.
[6]
David L. Atkins, Audris Mockus, and Harvey P. Siy. 2000. Measuring Technology Effects on Software Change Cost. Bell Labs Technical Journal 5, 2 (2000), 7–18.
[7]
Claudia Ayala, Burak Turhan, Xavier Franch, and Natalia Juristo. 2022. Use and Misuse of the Term “Experiment” in Mining Software Repositories Research. IEEE Transactions on Software Engineering 48, 11 (2022), 4229–4248.
[8]
Robert Baggen, José Pedro Correia, Katrin Schill, and Joost Visser. 2012. Standardized Code Quality Benchmarking for Improving Software Maintainability. Software Quality Journal2 (2012), 287–307.
[9]
Sabrina E. Bailey, Sneha S. Godbole, Charles D. Knutson, and Jonathan L. Krein. 2013. A Decade of Conway’s Law: A Literature Review from 2003-2012. In Proc. of the 3rd International Workshop on Replication in Empirical Software Engineering Research. 1–14.
[10]
Sebastian Baltes and Stephan Diehl. 2018. Towards a Theory of Software Development Expertise. In Proc. of the 26th ACM Joint Meeting on European Software Engineering Conference and the Symposium on the Foundations of Software Engineering. 187–200.
[11]
Terese Besker, Antonio Martini, and Jan Bosch. 2019. Software Developer Productivity Loss Due to Technical Debt: A Replication and Extension Study Examining Developers’ Development Work. Journal of Systems and Software 156 (2019), 41–61.
[12]
Christian Bird, Nachi Nagappan, Brendan Murphy, Harald Gall, and Premkumar Devanbu. 2011. Don’t Touch My Code! Examining the Effects of Ownership on Software Quality. In Proc. of the the 8th Joint Meeting of the European Software Engineering Conference and the Symposium on The Foundations of Software Engineering.
[13]
Barry W. Boehm. 1983. Seven basic principles of Software Engineering. Journal of Systems and Software 3, 1 (1983), 3–24.
[14]
Markus Borg, Dietmar Pfahl, and Per Runeson. 2013. Analyzing Networks of Issue Reports. In Proc. of the 17th European Conference on Software Maintenance and Reengineering. 79–88.
[15]
Markus Borg, Adam Tornhill, and Enys Mones. 2023. U Owns the Code, Replication Package. https://doi.org/10.5281/zenodo.7852985
[16]
Frederick Brooks. 1995. The Mythical Man-Month: Essays On Software Engineering. Pearson Education.
[17]
Norman Fenton. 1994. Software Measurement: A Necessary Scientific Basis. IEEE Transactions on Software Engineering 20, 3 (1994), 199–206.
[18]
Matthieu Foucault, Jean-Rémy Falleri, and Xavier Blanc. 2014. Code Ownership in Open-Source Software. In Proc. of the 18th International Conference on Evaluation and Assessment in Software Engineering. 1–9.
[19]
Matthieu Foucault, Cedric Teyton, David Lo, Xavier Blanc, and Jean-Remy Falleri. 2015. On the Usefulness of Ownership Metrics in Open-Source Software Projects. Information and Software Technology 64 (2015), 102–112.
[20]
Thomas Fritz, Gail C. Murphy, Emerson Murphy-Hill, Jingwen Ou, and Emily Hill. 2014. Degree-of-Knowledge: Modeling a Developer’s Knowledge of Code. ACM Transactions on Software Engineering and Methodology 23, 2 (2014), 14:1–14:42.
[21]
Daniel Graziotin, Fabian Fagerholm, Xiaofeng Wang, and Pekka Abrahamsson. 2017. On the Unhappiness of Software Developers. In Proc. of the 21st International Conference on Evaluation and Assessment in Software Engineering. 324–333.
[22]
Michaela Greiler, Kim Herzig, and Jacek Czerwonka. 2015. Code Ownership and Software Quality: A Replication Study. In Proc. of the 12th Working Conference on Mining Software Repositories. 2–12.
[23]
Lile Palma Hattori, Michele Lanza, and Romain Robbes. 2012. Refining Code Ownership With Synchronous Changes. Empirical Software Engineering 17, 4 (2012), 467–499.
[24]
International Organization for Standardization. 2021. Information Technology - Software Measurement - Software Quality Measurement - Automated Source Code Quality Measures. Technical Report ISO/IEC 5055:2021. International Organization for Standardization.
[25]
Magne Jorgensen and Martin Shepperd. 2007. A Systematic Review of Software Development Cost Estimation Studies. IEEE Transactions on Software Engineering 33, 1 (2007), 33–53.
[26]
Helvio Jeronimo Junior and Guilherme Horta Travassos. 2022. Consolidating a Common Perspective on Technical Debt and its Management Through a Tertiary Study. Information and Software Technology 149 (2022), 106964.
[27]
Marian Jureczko and Lech Madeyski. 2015. Cross-Project Defect Prediction with Respect to Code Ownership Model: An Empirical Study. e-Informatica Software Engineering Journal 9, 1 (2015).
[28]
Oleksii Kononenko, Olga Baysal, and Michael W. Godfrey. 2016. Code Review Quality: How Developers See It. In Proc. of the 38th International Conference on Software Engineering. 1028–1038.
[29]
Narendra Kurapati, Venkata Sarath Chandra Manyam, and Kai Petersen. 2012. Agile Software Development Practice Adoption Survey. In Agile Processes in Software Engineering and Extreme Programming(Lecture Notes in Business Information Processing), Claes Wohlin (Ed.). Springer, Berlin, Heidelberg, 16–30.
[30]
Adriaan Labuschagne and Reid Holmes. 2015. Do Onboarding Programs Work?. In Proc. of the 12th Working Conference on Mining Software Repositories. 381–385.
[31]
Guilherme Lacerda, Fabio Petrillo, Marcelo Pimenta, and Yann Gael Gueheneuc. 2020. Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations. Journal of Systems and Software 167 (2020), 110610.
[32]
Onkar Malgonde and Kaushal Chari. 2019. An Ensemble-Based Model for Predicting Agile Software Development Effort. Empirical Software Engineering 24, 2 (2019), 1017–1055.
[33]
Manish Motwani, Sandhya Sankaranarayanan, Rene Just, and Yuriy Brun. 2018. Do Automated Program Repair Techniques Repair Hard and Important Bugs?Empirical Software Engineering 23, 5 (2018), 2901–2947.
[34]
J.C. Munson and S.G. Elbaum. 1998. Code Churn: A Measure for Estimating the Impact of Code Change. In Proc. of the International Conference on Software Maintenance. 24–31.
[35]
Martin Naedele, Hong-Mei Chen, Rick Kazman, Yuanfang Cai, Lu Xiao, and Carlos V. A. Silva. 2015. Manufacturing Execution Systems: A Vision for Managing Software Development. Journal of Systems and Software 101 (2015), 59–68.
[36]
Nachiappan Nagappan and Thomas Ball. 2005. Use of Relative Code Churn Measures to Predict System Defect Density. In Proc. of the 27th International Conference on Software Engineering. 284–292.
[37]
Nachiappan Nagappan, Brendan Murphy, and Victor Basili. 2008. The Influence of Organizational Structure on Software Quality. In Proc. of the 30th International Conference on Software Engineering. 521–530.
[38]
Alberto S. Nunez-Varela, Hector G. Perez-Gonzalez, Francisco E. Martinez-Perez, and Carlos Soubervielle-Montalvo. 2017. Source Code Metrics: A Systematic Mapping Study. Journal of Systems and Software 128 (2017), 164–197.
[39]
Thomas J. Ostrand, Elaine J. Weyuker, and Robert M. Bell. 2010. Programmer-Based Fault Prediction. In Proc. of the 6th International Conference on Predictive Models in Software Engineering. 1–10.
[40]
Foyzur Rahman and Premkumar Devanbu. 2011. Ownership, experience and Defects: A Fine-Grained Study of Authorship. In Proc. of the 33rd International Conference on Software Engineering. 491–500.
[41]
Dilini Rajapaksha, Chakkrit Tantithamthavorn, Jirayus Jiarpakdee, Christoph Bergmeir, John Grundy, and Wray Buntine. 2022. SQAPlanner: Generating Data-Informed Software Quality Improvement Plans. IEEE Transactions on Software Engineering 48, 8 (2022), 2814–2835.
[42]
Abdul Rauf and Mohammad AlGhafees. 2015. Gap Analysis between State of Practice and State of Art Practices in Agile Software Development. In 2015 Agile Conference. 102–106.
[43]
Rodrigo Reboucas de Almeida, Christoph Treude, and Uira Kulesza. 2019. Tracy: A Business-Driven Technical Debt Prioritization Framework. In Proc. of the 35th International Conference on Software Maintenance and Evolution. 181–185.
[44]
Mehwish Riaz, Emilia Mendes, and Ewan Tempero. 2009. A Systematic Review of Software Maintainability Prediction and Metrics. In Proc. of the 3rd International Symposium on Empirical Software Engineering and Measurement. 367–377.
[45]
Nicolli Rios, Manoel Gomes de Mendonça Neto, and Rodrigo Oliveira Spínola. 2018. A Tertiary Study on Technical Debt: Types, Management Strategies, Research Trends, and Base Information for Practitioners. Information and Software Technology 102 (2018), 117–145.
[46]
Pilar Rodríguez, Jouni Markkula, Markku Oivo, and Kimmo Turula. 2012. Survey on Agile and Lean Usage in Finnish Software Industry. In Proc. of the 6th International Symposium on Empirical Software Engineering and Measurement. 139–148.
[47]
Todd Sedano, Paul Ralph, and Cécile Péraire. 2016. Practice and Perception of Team Code Ownership. In Proc. of the 20th International Conference on Evaluation and Assessment in Software Engineering. 1–6.
[48]
Miltiadis Siavvas, Dimitrios Tsoukalas, Marija Jankovic, Dionysios Kehagias, and Dimitrios Tzovaras. 2022. Technical Debt as an Indicator of Software Security Risk: A Machine Learning Approach for Software Development Enterprises. Enterprise Information Systems 16, 5 (2022), 1824017.
[49]
Renuka Sindhgatta, Nanjangud C. Narendra, and Bikram Sengupta. 2010. Software Evolution in Agile Development: A Case Study. In Proc. of the International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion. 105–114.
[50]
Vali Tawosi, Rebecca Moussa, and Federica Sarro. 2022. On the Relationship Between Story Points and Development Effort in Agile Open-Source Software. In Proc. of the 16th International Symposium on Empirical Software Engineering and Measurement. 183–194.
[51]
Adam Tornhill and Markus Borg. 2022. Code Red: The Business Impact of Code Quality - A Quantitative Study of 39 Proprietary Production Codebases. In Proc. of the 5th International Conference on Technical Debt. 11–20.
[52]
Raphael Vallat. 2018. Pingouin: Statistics in Python. Journal of Open Source Software 3, 31 (2018), 1026.
[53]
C. Wohlin, P. Runeson, M. Höst, M. Ohlsson, B. Regnell, and A. Wesslén. 2012. Experimentation in Software Engineering: A Practical Guide. Springer.
[54]
Xin Xia, Lingfeng Bao, David Lo, Zhenchang Xing, Ahmed E. Hassan, and Shanping Li. 2018. Measuring Program Comprehension: A Large-Scale Field Study with Professionals. IEEE Transactions on Software Engineering 44, 10 (2018), 951–976.

Cited By

View all
  • (2024)Increasing, not Diminishing: Investigating the Returns of Highly Maintainable CodeProceedings of the 7th ACM/IEEE International Conference on Technical Debt10.1145/3644384.3644471(21-30)Online publication date: 14-Apr-2024
  • (2024)Requirements for Organizational Resilience: Engineering Developer HappinessIEEE Software10.1109/MS.2024.338603541:4(14-18)Online publication date: 4-Jun-2024
  • (2024)Code Ownership: The Principles, Differences, and Their Associations with Software Quality2024 IEEE 35th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE62328.2024.00044(379-390)Online publication date: 28-Oct-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
EASE '23: Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering
June 2023
544 pages
ISBN:9798400700446
DOI:10.1145/3593434
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code ownership
  2. issue resolution time
  3. mining software repositories
  4. source code quality
  5. technical debt

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

EASE '23

Acceptance Rates

Overall Acceptance Rate 71 of 232 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)137
  • Downloads (Last 6 weeks)9
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Increasing, not Diminishing: Investigating the Returns of Highly Maintainable CodeProceedings of the 7th ACM/IEEE International Conference on Technical Debt10.1145/3644384.3644471(21-30)Online publication date: 14-Apr-2024
  • (2024)Requirements for Organizational Resilience: Engineering Developer HappinessIEEE Software10.1109/MS.2024.338603541:4(14-18)Online publication date: 4-Jun-2024
  • (2024)Code Ownership: The Principles, Differences, and Their Associations with Software Quality2024 IEEE 35th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE62328.2024.00044(379-390)Online publication date: 28-Oct-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media