Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3524842.3527932acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Code review practices for refactoring changes: an empirical study on OpenStack

Published: 17 October 2022 Publication History

Abstract

Modern code review is a widely used technique employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure adherence to coding standards and guidelines. During code review, developers may discuss refactoring activities before merging code changes in the code base. To date, code review has been extensively studied to explore its general challenges, best practices and outcomes, and socio-technical aspects. However, little is known about how refactoring is being reviewed and what developers care about when they review refactored code. Hence, in this work, we present a quantitative and qualitative study to understand what are the main criteria developers rely on to develop a decision about accepting or rejecting a submitted refactored code, and what makes this process challenging. Through a case study of 11,010 refactoring and non-refactoring reviews spread across OpenStack open-source projects, we find that refactoring-related code reviews take significantly longer to be resolved in terms of code review efforts. Moreover, upon performing a thematic analysis on a significant sample of the refactoring code review discussions, we built a comprehensive taxonomy consisting of 28 refactoring review criteria. We envision our findings reaffirming the necessity of developing accurate and efficient tools and techniques that can assist developers in the review process in the presence of refactorings.

References

[1]
[n. d.]. OpenStack. https://review.opendev.org/640051
[2]
Chaima Abid, Vahid Alizadeh, Marouane Kessentini, Thiago do Nascimento Ferreira, and Danny Dig. 2020. 30 Years of Software Refactoring Research:A Systematic Literature Review. arXiv:2007.02194 [cs.SE]
[3]
Eman Abdullah AlOmar, Hussein AlRubaye, Mohamed Wiem Mkaouer, Ali Ouni, and Marouane Kessentini. 2021. Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). IEEE, 348--357.
[4]
Eman Abdullah AlOmar, Jiaqian Liu, Kenneth Addo, Mohamed Wiem Mkaouer, Christian Newman, Ali Ouni, and Zhe Yu. 2022. On the documentation of refactoring types. Automated Software Engineering 29, 1 (2022), 1--40.
[5]
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Christian Newman, and Ali Ouni. 2021. On preserving the behavior in software refactoring: A systematic mapping study. Information and Software Technology (2021), 106675.
[6]
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, and Ali Ouni. 2019. Can refactoring be self-affirmed? an exploratory study on how developers document their refactoring activities in commit messages. In International Workshop on Refactoring-accepted. IEEE.
[7]
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, and Ali Ouni. 2021. Toward the automatic classification of self-affirmed refactoring. Journal of Systems and Software 171 (2021), 110821.
[8]
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni, and Marouane Kessentini. 2019. On the impact of refactoring on the relationship between quality attributes and design metrics. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 1--11.
[9]
Eman Abdullah AlOmar, Anthony Peruma, Mohamed Wiem Mkaouer, Christian Newman, Ali Ouni, and Marouane Kessentini. 2021. How we refactor and how we document it? On the use of supervised machine learning algorithms to classify refactoring documentation. Expert Systems with Applications 167 (2021), 114176.
[10]
Eman Abdullah AlOmar, Anthony Peruma, Mohamed Wiem Mkaouer, Christian D Newman, and Ali Ouni. 2021. Behind the scenes: On the relationship between developer experience and refactoring. Journal of Software: Evolution and Process (2021), e2395.
[11]
Eman Abdullah AlOmar, Philip T Rodriguez, Jordan Bowman, Tianjia Wang, Benjamin Adepoju, Kevin Lopez, Christian Newman, Ali Ouni, and Mohamed Wiem Mkaouer. 2020. How Do Developers Refactor Code to Improve Code Reusability?. In International Conference on Software and Software Reuse. Springer, 261--276.
[12]
Eman Abdullah AlOmar, Tianjia Wang, Raut Vaibhavi, Mohamed Wiem Mkaouer, Christian Newman, and Ali Ouni. 2021. Refactoring for Reuse: An Empirical Study. Innovations in Systems and Software Engineering (2021), 1--31.
[13]
Everton LG Alves, Myoungkyu Song, and Miryung Kim. 2014. RefDistiller: a refactoring aware code review tool for inspecting manual refactoring edits. In ACM SIGSOFT International Symposium on Foundations of Software Engineering. 751--754.
[14]
Everton LG Alves, Myoungkyu Song, Tiago Massoni, Patrícia DL Machado, and Miryung Kim. 2017. Refactoring inspection support for manual refactoring edits. IEEE Transactions on Software Engineering 44, 4 (2017), 365--383.
[15]
Alberto Bacchelli and Christian Bird. 2013. Expectations, outcomes, and challenges of modern code review. In International conference on software engineering. 712--721.
[16]
Alberto Bacchelli, Michele Lanza, and Romain Robbes. 2010. Linking e-mails and source code artifacts. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1. 375--384.
[17]
Mike Barnett, Christian Bird, João Brunet, and Shuvendu K Lahiri. 2015. Helping developers help themselves: Automatic decomposition of code review changesets. In International Conference on Software Engineering-Volume 1. 134--144.
[18]
Gabriele Bavota, Bernardino De Carluccio, Andrea De Lucia, Massimiliano Di Penta, Rocco Oliveto, and Orazio Strollo. 2012. When does a refactoring induce bugs? an empirical study. In IEEE 12th International Working Conference on Source Code Analysis and Manipulation. 104--113.
[19]
Moritz Beller, Alberto Bacchelli, Andy Zaidman, and Elmar Juergens. 2014. Modern code reviews in open-source projects: Which problems do they fix?. In Proceedings of the 11th working conference on mining software repositories. 202--211.
[20]
Aline Brito, Andre Hora, and Marco Tulio Valente. 2020. Refactoring Graphs: Assessing Refactoring over Time. arXiv preprint arXiv:2003.04666 (2020).
[21]
Moataz Chouchen, Ali Ouni, Mohamed Wiem Mkaouer, Raula Gaikovina Kula, and Katsuro Inoue. 2021. WhoReview: A multi-objective search-based approach for code reviewers recommendation in modern code review. Applied Soft Computing 100 (2021), 106908.
[22]
Kenneth L Clarkson and Peter W Shor. 1989. Applications of random sampling in computational geometry, II. Discrete & Computational Geometry 4, 5 (1989), 387--421.
[23]
Norman Cliff. 1993. Dominance statistics: Ordinal analyses to answer ordinal questions. Psychological Bulletin 114, 3 (1993), 494.
[24]
Flavia Coelho, Tiago Massoni, and Everton LG Alves. 2019. Refactoring-aware code review: a systematic mapping study. In International Workshop on Refactoring. 63--66.
[25]
Flávia Coelho, Nikolaos Tsantalis, Tiago Massoni, and Everton LG Alves. 2021. An Empirical Study on Refactoring-Inducing Pull Requests. In Proceedings of the 15th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). 1--12.
[26]
William Jay Conover. 1998. Practical nonparametric statistics. Vol. 350. John Wiley & Sons.
[27]
Daniela S Cruzes and Tore Dyba. 2011. Recommended steps for thematic synthesis in software engineering. In 2011 international symposium on empirical software engineering and measurement. IEEE, 275--284.
[28]
Massimiliano Di Penta, Gabriele Bavota, and Fiorella Zampetti. 2020. On the relationship between refactoring actions and bugs: a differentiated replication. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 556--567.
[29]
Danny Dig, Kashif Manzoor, Ralph Johnson, and Tien N Nguyen. 2007. Refactoring-aware configuration management for object-oriented programs. In 29th International Conference on Software Engineering (ICSE'07). IEEE, 427--436.
[30]
Emre Doğan and Eray Tüzün. 2022. Towards a taxonomy of code review smells. Information and Software Technology 142 (2022), 106737.
[31]
Felipe Ebert, Fernando Castor, Nicole Novielli, and Alexander Serebrenik. 2021. An exploratory study on confusion in code reviews. Empirical Software Engineering 26, 1 (2021), 1--48.
[32]
Yuanrui Fan, Xin Xia, David Lo, and Shanping Li. 2018. Early prediction of merged code changes to prioritize reviewing tasks. Empirical Software Engineering 23, 6 (2018), 3346--3393.
[33]
Olivier Gaudin. 2013. Continuous Inspection A Paradigm Shift in Software Quality Management (3 ed.). 10, Vol. 4. SonarSource.
[34]
Xi Ge, Saurabh Sarkar, and Emerson Murphy-Hill. 2014. Towards refactoring-aware code review. In International Workshop on Cooperative and Human Aspects of Software Engineering. 99--102.
[35]
Xi Ge, Saurabh Sarkar, Jim Witschey, and Emerson Murphy-Hill. 2017. Refactoring-aware code review. In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 71--79.
[36]
Bo Guo and Myoungkyu Song. 2017. Interactively decomposing composite changes to support code review and regression testing. In Annual Computer Software and Applications Conference (COMPSAC), Vol. 1. 118--127.
[37]
Oumayma Hamdi, Ali Ouni, Eman Abdullah AlOmar, Mel O Cinnéide, and Mohamed Wiem Mkaouer. 2021. An Empirical Study on the Impact of Refactoring on Quality Metrics in Android Applications. (2021), 28--39.
[38]
Oumayma Hamdi, Ali Ouni, Mel Ó Cinnéide, and Mohamed Wiem Mkaouer. 2021. A longitudinal study of the impact of refactoring in android applications. Information and Software Technology 140 (2021), 106699.
[39]
Ahmed E Hassan. 2008. Automated classification of change messages in open source projects. In Proceedings of the 2008 ACM symposium on Applied computing. 837--841.
[40]
Péter Hegedűs, István Kádár, Rudolf Ferenc, and Tibor Gyimóthy. 2018. Empirical evaluation of software maintainability based on a manually validated refactoring dataset. Information and Software Technology 95 (2018), 313--327.
[41]
Yasutaka Kamei, Emad Shihab, Bram Adams, Ahmed E Hassan, Audris Mockus, Anand Sinha, and Naoyasu Ubayashi. 2012. A large-scale empirical study of just-in-time quality assurance. IEEE Transactions on Software Engineering 39, 6 (2012), 757--773.
[42]
Yutaro Kashiwa, Ryoma Nishikawa, Yasutaka Kamei, Masanari Kondo, Emad Shihab, Ryosuke Sato, and Naoyasu Ubayashi. 2022. An empirical study on self-admitted technical debt in modern code review. Information and Software Technology 146 (2022), 106855.
[43]
Sunghun Kim, E James Whitehead, and Yi Zhang. 2008. Classifying software changes: Clean or buggy? IEEE Transactions on software engineering 34, 2 (2008), 181--196.
[44]
Zarina Kurbatova, Vladimir Kovalenko, Ioana Savu, Bob Brockbernd, Dan Andreescu, Matei Anton, Roman Venediktov, Elena Tikhomirova, and Timofey Bryksin. 2021. RefactorInsight: Enhancing IDE Representation of Changes in Git with Refactorings Information. arXiv preprint arXiv:2108.11202 (2021).
[45]
Laura MacLeod, Michaela Greiler, Margaret-Anne Storey, Christian Bird, and Jacek Czerwonka. 2017. Code reviewing in the trenches: Challenges and best practices. IEEE Software 35, 4 (2017), 34--42.
[46]
Mehran Mahmoudi, Sarah Nadi, and Nikolaos Tsantalis. 2019. Are refactorings to blame? an empirical study of refactorings in merge conflicts. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 151--162.
[47]
Shane McIntosh, Yasutaka Kamei, Bram Adams, and Ahmed E Hassan. 2014. The impact of code review coverage and code review participation on software quality: A case study of the qt, vtk, and itk projects. In Working Conference on Mining Software Repositories. 192--201.
[48]
Shane McIntosh, Yasutaka Kamei, Bram Adams, and Ahmed E Hassan. 2016. An empirical study of the impact of modern code review practices on software quality. Empirical Software Engineering 21, 5 (2016), 2146--2189.
[49]
Wiem Mkaouer, Marouane Kessentini, Adnan Shaout, Patrice Koligheu, Slim Bechikh, Kalyanmoy Deb, and Ali Ouni. 2015. Many-objective software remodularization using NSGA-III. ACM Transactions on Software Engineering and Methodology (TOSEM) 24, 3 (2015), 1--45.
[50]
Audris Mockus and Lawrence G Votta. 2000. Identifying Reasons for Software Changes using Historic Databases. In icsm. 120--130.
[51]
Rodrigo Morales, Shane McIntosh, and Foutse Khomh. 2015. Do code review practices impact design quality? a case study of the qt, vtk, and itk projects. In International Conference on Software Analysis, Evolution, and Reengineering (SANER). 171--180.
[52]
Emerson Murphy-Hill, Chris Parnin, and Andrew PBlack. 2012. How We Refactor, and How We Know It. IEEE Transactions on Software Engineering 38, 1 (Jan 2012), 5--18.
[53]
Ali Ouni, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, and Kalyanmoy Deb. 2016. Multi-criteria code refactoring using search-based software engineering: An industrial case study. ACM Transactions on Software Engineering and Methodology (TOSEM) 25, 3 (2016), 23.
[54]
Ali Ouni, Raula Gaikovina Kula, and Katsuro Inoue. 2016. Search-based peer reviewers recommendation in modern code review. In 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 367--377.
[55]
Matheus Paixao, Jens Krinke, DongGyun Han, Chaiyong Ragkhitwetsagul, and Mark Harman. 2019. The impact of code review on architectural changes. IEEE Transactions on Software Engineering (2019).
[56]
Matheus Paixão, Anderson Uchôa, Ana Carla Bibiano, Daniel Oliveira, Alessandro Garcia, Jens Krinke, and Emilio Arvonio. 2020. Behind the intents: An in-depth empirical study on software refactoring in modern code review. In Proceedings of the 17th International Conference on Mining Software Repositories. 125--136.
[57]
Jevgenija Pantiuchina, Fiorella Zampetti, Simone Scalabrino, Valentina Piantadosi, Rocco Oliveto, Gabriele Bavota, and Massimiliano Di Penta. 2020. Why developers refactor source code: A mining-based study. ACM Transactions on Software Engineering and Methodology (TOSEM) 29, 4 (2020), 1--30.
[58]
Luca Pascarella, Franz-Xaver Geiger, Fabio Palomba, Dario Di Nucci, Ivano Malavolta, and Alberto Bacchelli. 2018. Self-reported activities of android developers. In 2018 IEEE/ACM 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft). IEEE, 144--155.
[59]
Luca Pascarella, Davide Spadini, Fabio Palomba, and Alberto Bacchelli. 2019. On The Effect Of Code Review On Code Smells. CoRR abs/1912.10098 (2019). arXiv:1912.10098 http://arxiv.org/abs/1912.10098
[60]
Luca Pascarella, Davide Spadini, Fabio Palomba, Magiel Bruntink, and Alberto Bacchelli. 2018. Information needs in contemporary code review. Proceedings of the ACM on Human-Computer Interaction 2, CSCW (2018), 135.
[61]
Anthony Peruma, Mohamed Wiem Mkaouer, Michael John Decker, and Christian Donald Newman. 2019. Contextualizing rename decisions using refactorings and commit messages. In 2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 74--85.
[62]
Anthony Peruma, Christian D Newman, Mohamed Wiem Mkaouer, Ali Ouni, and Fabio Palomba. 2020. An exploratory study on the refactoring of unit test files in android applications. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops. 350--357.
[63]
Anthony Peruma, Steven Simmons, Eman Abdullah AlOmar, Christian D Newman, Mohamed Wiem Mkaouer, and Ali Ouni. 2022. How do i refactor this? An empirical study on refactoring trends and topics in Stack Overflow. Empirical Software Engineering 27, 1 (2022), 1--43.
[64]
Jacek Ratzinger, Thomas Sigmund, and Harald C. Gall. 2008. On the Relation of Refactorings and Software Defect Prediction. In Proceedings of the 2008 International Working Conference on Mining Software Repositories (Leipzig, Germany) (MSR '08). ACM, New York, NY, USA, 35--38.
[65]
Self-Affirmed Refactoring. 2022. ReplicationPackage. https://smilevo.github.io/self-affirmed-refactoring/refactoring-review/
[66]
Peter C Rigby and Christian Bird. 2013. Convergent contemporary software peer review practices. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. ACM, 202--212.
[67]
Peter C Rigby and Margaret-Anne Storey. 2011. Understanding broadcast based peer review on open source software projects. In 2011 33rd International Conference on Software Engineering (ICSE). IEEE, 541--550.
[68]
Jeanine Romano, J Kromrey, Jesse Coraggio, and Jeff Skowronek. 2006. Appropriate statistics for ordinal level data. In Proceedings of the Annual Meeting of the Florida Association of Institutional Research. 1--3.
[69]
Per Runeson and Martin Höst. 2009. Guidelines for conducting and reporting case study research in software engineering. Empirical software engineering 14, 2 (2009), 131--164.
[70]
Caitlin Sadowski, Emma Söderberg, Luke Church, Michal Sipko, and Alberto Bacchelli. 2018. Modern code review: a case study at google. In International Conference on Software Engineering: Software Engineering in Practice. 181--190.
[71]
Emad Shihab, Zhen Ming Jiang, and Ahmed E Hassan. 2009. Studying the use of developer IRC meetings in open source projects. In 2009 IEEE International Conference on Software Maintenance. IEEE, 147--156.
[72]
Danilo Silva, João Silva, Gustavo Jansen De Souza Santos, Ricardo Terra, and Marco Tulio O Valente. 2020. RefDiff 2.0: A Multi-language Refactoring Detection Tool. IEEE Transactions on Software Engineering (2020).
[73]
Danilo Silva, Nikolaos Tsantalis, and Marco Tulio Valente. 2016. Why We Refactor? Confessions of GitHub Contributors. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (Seattle, WA, USA) (FSE 2016). ACM, New York, NY, USA, 858--870.
[74]
Danilo Silva and Marco Tulio Valente. 2017. Refdiff: detecting refactorings in version histories. In 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR). IEEE, 269--279.
[75]
Gustavo Soares, Diego Cavalcanti, Rohit Gheyi, Tiago Massoni, Dalton Serey, and Márcio Cornélio. 2009. Saferefactor-tool for checking refactoring safety. (01 2009).
[76]
Konstantinos Stroggylos and Diomidis Spinellis. 2007. Refactoring-Does It Improve Software Quality?. In Fifth International Workshop on Software Quality (WoSQ'07: ICSE Workshops 2007). IEEE, 10--10.
[77]
Gábor Szóke, Gábor Antal, Csaba Nagy, Rudolf Ferenc, and Tibor Gyimóthy. 2014. Bulk fixing coding issues and its effects on software quality: Is it worth refactoring?. In 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation. IEEE, 95--104.
[78]
Dirk Taeger and Sonja Kuhnt. 2014. Statistical hypothesis testing with SAS and R. John Wiley & Sons.
[79]
Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, and Anita Raja. 2021. An Empirical Study of Refactorings and Technical Debt in Machine Learning Systems. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 238--250.
[80]
Yida Tao, Yingnong Dang, Tao Xie, Dongmei Zhang, and Sunghun Kim. 2012. How do software engineers understand code changes?: an exploratory study in industry. In ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. 51.
[81]
Yida Tao and Sunghun Kim. 2015. Partitioning composite code changes to facilitate code review. In Working Conference on Mining Software Repositories. 180--190.
[82]
Patanamon Thongtanunam and Ahmed E Hassan. 2020. Review dynamics and their impact on software quality. IEEE Transactions on Software Engineering (2020).
[83]
Patanamon Thongtanunam, Shane McIntosh, Ahmed E Hassan, and Hajimu Iida. 2015. Investigating code review practices in defective files: An empirical study of the qt system. In 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. IEEE, 168--179.
[84]
Patanamon Thongtanunam, Shane McIntosh, Ahmed E Hassan, and Hajimu Iida. 2016. Revisiting code ownership and its relationship with software quality in the scope of modern code review. In Proceedings of the 38th international conference on software engineering. 1039--1050.
[85]
Patanamon Thongtanunam, Chakkrit Tantithamthavorn, Raula Gaikovina Kula, Norihiro Yoshida, Hajimu Iida, and Ken-ichi Matsumoto. 2015. Who should review my code? a file location-based code-reviewer recommendation approach for modern code review. In 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 141--150.
[86]
Nikolaos Tsantalis, Theodoros Chaikalis, and Alexander Chatzigeorgiou. 2008. JDeodorant: Identification and removal of type-checking bad smells. In 2008 12th European Conference on Software Maintenance and Reengineering. IEEE, 329--331.
[87]
Nikolaos Tsantalis, Matin Mansouri, Laleh Eshkevari, Davood Mazinanian, and Danny Dig. 2018. Accurate and efficient refactoring detection in commit history. In 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE). IEEE, 483--494.
[88]
Anderson Uchôa, Caio Barbosa, Daniel Coutinho, Willian Oizumi, Wesley KG Assunçao, Silvia Regina Vergilio, Juliana Alves Pereira, Anderson Oliveira, and Alessandro Garcia. 2021. Predicting Design Impactful Changes in Modern Code Review: A Large-Scale Empirical Study. In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR). IEEE, 471--482.
[89]
Anderson Uchôa, Caio Barbosa, Willian Oizumi, Publio Blenílio, Rafael Lima, Alessandro Garcia, and Carla Bezerra. 2020. How does modern code review impact software design degradation? an in-depth empirical study. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 511--522.
[90]
Clark Wissler. 1905. The Spearman correlation formula. Science 22, 558 (1905), 309--311.
[91]
Xin Yang, Raula Gaikovina Kula, Norihiro Yoshida, and Hajimu Iida. 2016. Mining the modern code review repositories: A dataset of people, process and product. In Proceedings of the 13th International Conference on Mining Software Repositories. 460--463.
[92]
Tianyi Zhang, Myoungkyu Song, Joseph Pinedo, and Miryung Kim. 2015. Interactive code review for systematic changes. In International Conference on Software Engineering-Volume 1. 111--122.
[93]
Xin Zhang, Yang Chen, Yongfeng Gu, Weiqin Zou, Xiaoyuan Xie, Xiangyang Jia, and Jifeng Xuan. 2018. How do multiple pull requests change the same code: A study of competing pull requests in github. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 228--239.

Cited By

View all
  • (2024)MORCoRA: Multi-Objective Refactoring Recommendation Considering Review AvailabilityInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402450043834:12(1919-1947)Online publication date: 2-Oct-2024
  • (2024)Behind the Intent of Extract Method Refactoring: A Systematic Literature ReviewIEEE Transactions on Software Engineering10.1109/TSE.2023.334580050:4(668-694)Online publication date: Apr-2024
  • (2024)Deciphering refactoring branch dynamics: An empirical study on QtInformation and Software Technology10.1016/j.infsof.2024.107596(107596)Online publication date: Oct-2024
  • Show More Cited By

Index Terms

  1. Code review practices for refactoring changes: an empirical study on OpenStack

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      MSR '22: Proceedings of the 19th International Conference on Mining Software Repositories
      May 2022
      815 pages
      ISBN:9781450393034
      DOI:10.1145/3524842
      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 ACM 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]

      Sponsors

      In-Cooperation

      • IEEE CS

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 17 October 2022

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. code review
      2. developer perception
      3. refactoring
      4. software quality

      Qualifiers

      • Research-article

      Conference

      MSR '22
      Sponsor:

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)111
      • Downloads (Last 6 weeks)17
      Reflects downloads up to 18 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)MORCoRA: Multi-Objective Refactoring Recommendation Considering Review AvailabilityInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402450043834:12(1919-1947)Online publication date: 2-Oct-2024
      • (2024)Behind the Intent of Extract Method Refactoring: A Systematic Literature ReviewIEEE Transactions on Software Engineering10.1109/TSE.2023.334580050:4(668-694)Online publication date: Apr-2024
      • (2024)Deciphering refactoring branch dynamics: An empirical study on QtInformation and Software Technology10.1016/j.infsof.2024.107596(107596)Online publication date: Oct-2024
      • (2024)A qualitative study on refactorings induced by code reviewEmpirical Software Engineering10.1007/s10664-024-10560-730:1Online publication date: 31-Oct-2024
      • (2024)An empirical study on cross-component dependent changes: A case study on the components of OpenStackEmpirical Software Engineering10.1007/s10664-024-10488-y29:5Online publication date: 13-Jul-2024
      • (2023)How social interactions can affect Modern Code ReviewFrontiers in Computer Science10.3389/fcomp.2023.11780405Online publication date: 11-May-2023
      • (2023)D-ACT: Towards Diff-Aware Code Transformation for Code Review Under a Time-Wise Evaluation2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00036(296-307)Online publication date: Mar-2023
      • (2023)State of Refactoring Adoption: Better Understanding Developer Perception of Refactoring2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR)10.1109/MSR59073.2023.00090(635-639)Online publication date: May-2023
      • (2023)Automated Binary Program Partitioning through Structural Analysis2023 14th International Conference on Information, Intelligence, Systems & Applications (IISA)10.1109/IISA59645.2023.10345849(1-7)Online publication date: 10-Jul-2023
      • (2023)IVSign: Interpretable Vulnerability Signature via Code Embedding and Static Analysis2023 53rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W)10.1109/DSN-W58399.2023.00025(25-31)Online publication date: Jun-2023
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media