How Do Code Refactoring Activities Impact Software Developers' Sentiments? - An Empirical Investigation Into GitHub Commits

Affective software engineering deals in exploring and understanding the developers' sentiments associated with specific software development tasks with the goal to unleash various task-to-sentiment relationships. This paper empirically investigates the impact of software code refactoring on the sentiments of developers in open source projects. We perform a comprehensive analysis of sentiments attached with 15 different refactoring activities across the evolution of 60 open source Java projects through mining relevant commit messages. We investigate 3,171 refactoring related commit messages (out of total 615,625 commit messages) representing 4,891 refactoring instances. The study outcome shows that in general software developers express more negative sentiments than positive sentiments, while performing refactoring tasks. It is also found that 5 out of 15 refactoring activities are mainly responsible for this observed outcome.

[1]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[2]  Outi Sievi-Korte,et al.  Refactoring-a Shot in the Dark? , 2015, IEEE Software.

[3]  Jesse Yli-Huumo,et al.  How do software development teams manage technical debt? - An empirical study , 2016, J. Syst. Softw..

[4]  Teresa Lesiuk,et al.  The effect of music listening on work performance , 2005 .

[5]  Robert M. Hierons,et al.  Do moods affect programmers’ debug performance? , 2011, Cognition, Technology & Work.

[6]  Minhaz Fahim Zibran,et al.  Towards understanding and exploiting developers' emotional variations in software engineering , 2016, 2016 IEEE 14th International Conference on Software Engineering Research, Management and Applications (SERA).

[7]  Alexander Serebrenik,et al.  On negative results when using sentiment analysis tools for software engineering research , 2017, Empirical Software Engineering.

[8]  Bonita Sharif,et al.  Analyzing Developer Sentiment in Commit Logs , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[9]  Bram Adams,et al.  Do developers feel emotions? an exploratory analysis of emotions in software artifacts , 2014, MSR 2014.

[10]  Chris Parnin,et al.  Improving change descriptions with change contexts , 2008, MSR '08.

[11]  Pekka Abrahamsson,et al.  Unhappy Developers: Bad for Themselves, Bad for Process, and Bad for Software Product , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[12]  Marco Tulio Valente,et al.  Why we refactor? confessions of GitHub contributors , 2016, SIGSOFT FSE.

[13]  Yang Li,et al.  Sentiment analysis of commit comments in GitHub: an empirical study , 2014, MSR 2014.

[14]  Miryung Kim,et al.  A field study of refactoring challenges and benefits , 2012, SIGSOFT FSE.

[15]  M. Thelwall,et al.  Sentiment Strength Detection for the Social Web 1 , 2012 .

[16]  Stas Negara,et al.  Use, disuse, and misuse of automated refactorings , 2012, 2012 34th International Conference on Software Engineering (ICSE).