A study of refactorings during software change tasks

被引:1
|
作者
Eilertsen, Anna M. [1 ]
Murphy, Gail C. [2 ]
机构
[1] Univ Bergen, Inst Informat, Bergen, Norway
[2] Univ British Columbia, Dept Comp Sci, Vancouver, BC, Canada
关键词
human factors; refactoring; refactoring tool design; software change tasks;
D O I
10.1002/smr.2378
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developers frequently undertake software change tasks that could be partially or fully automated by refactoring tools. As has been reported by others, all too often, these refactoring steps are instead performed manually by developers. These missed opportunities are referred to as occasions of disuse of refactoring tools. We perform an observational study in which 17 developers with professional experience attempt to solve three change tasks with steps amenable to the use of refactoring tools. We found that the strategies developers use to approach these tasks shape their workflow, which, in turn, shape the opportunities for refactoring tool use. We report on a number of findings about developer strategies, demonstrating the difficulty of aligning the kind of refactoring steps that emerge during a change task based on the strategy with the tools available. We also report on findings about refactoring tools, such as the difficulties developers face in controlling the scope of application of the tools. Our findings can help inform the designers of refactoring tools.
引用
收藏
页数:25
相关论文
共 50 条
  • [1] Managing software change tasks: An exploratory study
    Sillito, J
    De Volder, K
    Fisher, B
    Murphy, G
    [J]. 2005 INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING (ISESE), PROCEEDINGS, 2005, : 23 - 32
  • [2] On the Impact of Refactorings on Software Attack Surface
    Edward, Estomii
    Nyamawe, Ally S.
    Elisa, Noe
    [J]. IEEE ACCESS, 2024, 12 : 128570 - 128584
  • [3] An Empirical Investigation into the Role of API-Level Refactorings during Software Evolution
    Kim, Miryung
    Cai, Dongxiang
    Kim, Sunghun
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 151 - 160
  • [4] Behavioural concern modelling for software change tasks
    Lai, AYH
    Murphy, GC
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 112 - 121
  • [5] Detecting and visualizing refactorings from software archives
    Görg, C
    Weissgerber, P
    [J]. 13TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2005, : 205 - 214
  • [6] Recommending Refactorings to Reverse Software Architecture Erosion
    Terra, Ricardo
    Valente, Marco Tulio
    Czarnecki, Krzysztof
    Bigonha, Roberto S.
    [J]. 2012 16TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2012, : 335 - 340
  • [7] Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts
    Mahmoudi, Mehran
    Nadi, Sarah
    Tsantalis, Nikolaos
    [J]. 2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), 2019, : 151 - 162
  • [8] Finding refactorings via change metrics
    Demeyer, S
    Ducasse, S
    Nierstrasz, O
    [J]. ACM SIGPLAN NOTICES, 2000, 35 (10) : 166 - 177
  • [9] Conflict-aware schedule of software refactorings
    Liu, H.
    Li, G.
    Ma, Z. Y.
    Shao, W. Z.
    [J]. IET SOFTWARE, 2008, 2 (05) : 446 - 460
  • [10] Tracing Software Developers' Eyes and Interactions for Change Tasks
    Kevic, Katja
    Walters, Braden M.
    Shaffer, Timothy R.
    Sharif, Bonita
    Shepherd, David C.
    Fritz, Thomas
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 202 - 213