How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow
Thu 12 May 2022 20:00 - 20:05 at ICSE room 3-even hours - Refactoring 1 Chair(s): Mohamed Wiem Mkaouer
Fri 27 May 2022 11:15 - 11:20 at Room 306+307 - Papers 21: Programming Languages and Refactoring Chair(s): Julian Dolby
Fri 27 May 2022 13:30 - 15:00 at Ballroom Gallery - Posters 3
An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the appropriate refactoring strategy is not always straightforward, resulting in developers seeking assistance. Although research in refactoring is well-established, with several studies altering between the detection of refactoring opportunities and the recommendation of appropriate code changes, little is known about their adoption in practice. Analyzing the perception of developers is critical to understand better what developers consider to be problematic in their code and how they handle it. Additionally, there is a need for bridging the gap between refactoring, as research, and its adoption in practice, by extracting common refactoring intents that are more suitable for what developers face in reality. In this study, we analyze refactoring discussions on Stack Overflow through a series of quantitative and qualitative experiments. Our results show that Stack Overflow is utilized by a diverse set of developers for refactoring assistance for a variety of technologies. Our observations show five areas that developers typically require help with refactoring– Code Optimization, Tools and IDEs, Architecture and Design Patterns, Unit Testing, and Database. We envision our findings better bridge the support between traditional (or academic) aspects of refactoring and their real-world applicability, including better tool support.
Thu 12 MayDisplayed time zone: Eastern Time (US & Canada) change
12:00 - 13:00 | Refactoring 2Technical Track / SEIP - Software Engineering in Practice / Journal-First Papers at ICSE room 4-even hours Chair(s): Julian Dolby IBM Research, USA | ||
12:00 5mTalk | How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow Journal-First Papers Anthony Peruma Rochester Institute of Technology, Steven Simmons Rochester Institute of Technology, Eman Abdullah AlOmar Stevens Institute of Technology, Christian D. Newman Rochester Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Ali Ouni ETS Montreal, University of Quebec Link to publication DOI Pre-print Media Attached | ||
12:05 5mTalk | Industry’s Cry for Tools that Support Large-Scale Refactoring SEIP - Software Engineering in Practice James Ivers Carnegie Mellon University, USA, Robert Nord Software Engineering Institute, Ipek Ozkaya Carnegie Mellon Software Engineering Institute, Chris Seifried Carnegie Mellon University, USA, Christopher Steven Timperley Carnegie Mellon University, Marouane Kessentini Oakland University, USA Pre-print Media Attached | ||
12:10 5mTalk | DrAsync: Identifying and Visualizing Anti-Patterns in Asynchronous JavaScriptBest Artifact Award Technical Track Alexi Turcotte Northeastern University, Michael D. Shah Northeastern University, USA, Mark W. Aldrich Tufts University, Frank Tip Northeastern University Pre-print Media Attached | ||
12:15 5mTalk | Inferring And Applying Type Changes Technical Track Ameya Ketkar Oregon State University, USA, Oleg Smirnov JetBrains Research, Saint Petersburg State University, Nikolaos Tsantalis Concordia University, Danny Dig University of Colorado Boulder, USA, Timofey Bryksin JetBrains Research; HSE University Pre-print Media Attached |
20:00 - 21:00 | Refactoring 1SEIP - Software Engineering in Practice / Journal-First Papers / Technical Track at ICSE room 3-even hours Chair(s): Mohamed Wiem Mkaouer Rochester Institute of Technology | ||
20:00 5mTalk | How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow Journal-First Papers Anthony Peruma Rochester Institute of Technology, Steven Simmons Rochester Institute of Technology, Eman Abdullah AlOmar Stevens Institute of Technology, Christian D. Newman Rochester Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Ali Ouni ETS Montreal, University of Quebec Link to publication DOI Pre-print Media Attached | ||
20:05 5mTalk | Industry’s Cry for Tools that Support Large-Scale Refactoring SEIP - Software Engineering in Practice James Ivers Carnegie Mellon University, USA, Robert Nord Software Engineering Institute, Ipek Ozkaya Carnegie Mellon Software Engineering Institute, Chris Seifried Carnegie Mellon University, USA, Christopher Steven Timperley Carnegie Mellon University, Marouane Kessentini Oakland University, USA Pre-print Media Attached | ||
20:10 5mTalk | Inferring And Applying Type Changes Technical Track Ameya Ketkar Oregon State University, USA, Oleg Smirnov JetBrains Research, Saint Petersburg State University, Nikolaos Tsantalis Concordia University, Danny Dig University of Colorado Boulder, USA, Timofey Bryksin JetBrains Research; HSE University Pre-print Media Attached |
Fri 27 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Papers 21: Programming Languages and RefactoringTechnical Track / SEIP - Software Engineering in Practice / Journal-First Papers / NIER - New Ideas and Emerging Results at Room 306+307 Chair(s): Julian Dolby IBM Research, USA | ||
11:00 5mTalk | Grammars for Free: Toward Grammar Inference for Ad Hoc Parsers NIER - New Ideas and Emerging Results Pre-print Media Attached | ||
11:05 5mTalk | Learning and Programming Challenges of Rust: A Mixed-Methods Study Technical Track Shuofei Zhu The Pennsylvania State University, Ziyi Zhang University of Wisconsin–Madison, Boqin Qin China Telecom Cloud Computing Corporation, Aiping Xiong The Pennsylvania State University, Linhai Song Pennsylvania State University, USA DOI Pre-print Media Attached | ||
11:10 5mTalk | Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage CollectorNominated for Distinguished Paper Technical Track Michael Coblenz University of Maryland at College Park, Michelle Mazurek University of Maryland, Michael Hicks University of Maryland at College Park DOI Pre-print Media Attached | ||
11:15 5mTalk | How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow Journal-First Papers Anthony Peruma Rochester Institute of Technology, Steven Simmons Rochester Institute of Technology, Eman Abdullah AlOmar Stevens Institute of Technology, Christian D. Newman Rochester Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Ali Ouni ETS Montreal, University of Quebec Link to publication DOI Pre-print Media Attached | ||
11:20 5mTalk | Industry’s Cry for Tools that Support Large-Scale Refactoring SEIP - Software Engineering in Practice James Ivers Carnegie Mellon University, USA, Robert Nord Software Engineering Institute, Ipek Ozkaya Carnegie Mellon Software Engineering Institute, Chris Seifried Carnegie Mellon University, USA, Christopher Steven Timperley Carnegie Mellon University, Marouane Kessentini Oakland University, USA Pre-print Media Attached | ||
11:25 5mTalk | DrAsync: Identifying and Visualizing Anti-Patterns in Asynchronous JavaScriptBest Artifact Award Technical Track Alexi Turcotte Northeastern University, Michael D. Shah Northeastern University, USA, Mark W. Aldrich Tufts University, Frank Tip Northeastern University Pre-print Media Attached | ||
11:30 5mTalk | Inferring And Applying Type Changes Technical Track Ameya Ketkar Oregon State University, USA, Oleg Smirnov JetBrains Research, Saint Petersburg State University, Nikolaos Tsantalis Concordia University, Danny Dig University of Colorado Boulder, USA, Timofey Bryksin JetBrains Research; HSE University Pre-print Media Attached |