This website is for refactoring study material

Manual refactoring is supposed to be an error-prone process. In order to gain insight regarding developers' manual refactoring, we conducted a formative study participated by twelve experienced developers. Our study collected data by three methods: a consent form; an experiment observing participants' manual refactoring; a post-experiment questionnaires soliciting their personal opinion. This webpage is intended to provide information of the study process and the complete study results as well. The webpage is supporting material for Xi Ge and Emerson Murphy-Hill's paper submission "Reconciling Manual and Automatic Refactoring".

Study method:
    1. consent form/pre-experiment questionnaires. The original file can be found here.
    2. observing manual refactoring: we let participants perform manual refactorng upon Vuze open source project.
    3. post-questionnaires. The original file can be found here.

Raw results:
 Participant ID Pre-experiment questionaires Refactoring videos Post-experiment questionnaires
 4 link available link
 5 Not authorized Not authorized Not filled the form
 6 link available link
 7 link available link
 10 link available link
 11 link Not authorized link
 12 Not authorized Not authorized link
 13 Not authorized Not authorized Not filled the form
 14 Not authorized Not authorized Not filled the form
 15 Not authorized Not authorized Not filled the form

Study results:
1. The contribution of manual refactoring from participants: 
  • Yellow: discarded. We discarded the refactorings due to several reasons: (1) the refactoring was too far from complete; (2) the participant finished the refactoring with our overly detailed guidance; (3) the participant finished the refactoring by invoking refactoring tools. 
  • Red: incorrectly performed. Red indicates although the participant refactored to a new code structure aligning with Fowler's definitions, the code behavior had been changed. 
  • Green: correctly performed. Green indicates the refactorings that met with Fowler's definition, and at the same time did not change the external behavior of the the code base.
  • Time in the table (H:MM:SS) indicates the starting timeline of the corresponding refactoring in the recorded refactoring video.
Table 1: 

Table 2:
2. Manual refatoring workflow patterns (in addition to the ones listed in our paper):