Affiliation:
1. Centre of Informatics and Systems, University of Coimbra, Coimbra, Portugal
2. Faculty of Psychology and Educational Sciences, University of Coimbra, Coimbra, Portugal
3. Department of Informatics and Applied Mathematics, Federal University of Rio Grande do Norte, Natal, Rio Grande do Norte, Brazil
Abstract
Although human factors (e.g., cognitive functions, behaviors and skills, human error models, etc.) are key elements to improve software development productivity and quality, the role of software developers’ emotions and their personality traits in software engineering still needs to be studied. A major difficulty is in assessing developers’ emotions, leading to the classic problem of having difficulties understanding what cannot be easily measured. Existing approaches to infer emotions, such as facial expressions, self-assessed surveys, and biometric sensors, imply considerable intrusiveness on developers and tend to be used only during normal working periods. This article proposes to assess the feasibility of using social media posts (e.g., developers’ posts on Twitter) to accurately determine the polarity of emotions of software developers over extended periods in a non-intrusive manner, allowing the identification of potentially abnormal periods of negative or positive sentiments of developers that may affect software development productivity or software quality. Our results suggested that Twitter data can serve as a valid source for accurately inferring the polarity of emotions. We evaluated 31 combinations of unsupervised lexicon-based techniques using a dataset with 79,029 public posts from Twitter from sixteen software developers, achieving a macro F1-Score of 0.745 and 76.8% of accuracy with the ensemble comprised of SentiStrength, Sentilex-PT, and LIWC2015_PT lexicons. Among other results, we found a statistically significant difference in tweets’ polarities posted during working and non-working periods for 31.25% of the participants, suggesting that emotional polarity monitoring outside working hours could also be relevant. We also assessed the Big Five personality traits of the developers and preliminarily used them to ponder the polarities inferences. In this context, Openness, Conscientiousness, and Extraversion were frequently related to neutral and positive posts, while Neuroticism is associated with negative posts. Our results show that the proposed approach is accurate enough to constitute a simple and non-intrusive alternative to existing methods. Tools using this approach can be applied in real software development environments to support software team workers in making decisions to improve the software development process.
Funder
Grant
European Social Fund
Regional Operational Program Centro
Reference130 articles.
1. Predicting personality with social behavior: a comparative study;Adalı;Social Network Analysis and Mining,2014
2. SentiCR: a customized sentiment analysis tool for code review interactions;Ahmed,2017
3. Lexicon and heuristics based approach for identification of emotion in text;Akram,2019
4. Affect and creativity at work;Amabile;Administrative Science Quarterly,2005
5. Big-five personality traits mapped with software development tasks to find most productive software development teams;Aqeel Iqbal;International Journal of Innovative Technology and Exploring Engineering,2019