Affect Detection in the Social Programmer Ecosystem

Schedule and location

Tuesday April 4th - Thursday April 6th
University of Oulu, Linnanmaa campus (address Pentti Kaiteran katu 1)  
Tuesday, April 4: 9:00-12:00 TS128, 12:00-14:00 IT105, 14:00-16:00 TS128
Wednesday, April 5: 9:00-16:00 131 (former TF105)
Thursday, April 6: 9:00-12:00 M101, 12:00-16:00 131 (former TF105)


Registration open March 20th - March 29th


Assistant Professor Nicole Novielli, University of Bari, Italy


Professor Mika Mäntylä, University of Oulu, Finland.


MotivationSoftware engineering involves a large amount of social interaction, as programmers often need to cooperate with others, whether directly or indirectly. However, we have become fully aware of the importance of social aspects in software engineering activities only over the last decade. In fact, it was not until the recent diffusion and massive adoption of social media that we could witness the rise of the “social programmer” and the surrounding ecosystem. Social media has deeply influenced the design of software development-oriented tools such as GitHub (i.e., a social coding site) and Stack Overflow (i.e., a community-based question answering site). Stack Overflow, in particular, is an example of an online community where social programmers do networking by reading and answering others’ questions, thus participating in the creation and diffusion of crowdsourced knowledge and software documentation.

One of the biggest drawbacks of computer-mediated communication is to appropriately convey sentiment through text. While display rules for emotions exist and are widely accepted for interaction in traditional face-to-face communication, web users are not necessarily prepared for effectively dealing with the social media barriers to non-verbal communication. Thus, the design of systems and mechanisms for the development of emotional awareness between communicators is an important technical and social challenge for research related to computer-supported collaboration and social computing. As a consequence, a recent research trend has emerged to study the role of affect in the social programmer ecosystem, by applying sentiment analysis to the content available in sites such as GitHub and Stack Overflow, as well as in other asynchronous communication artifacts such as comments in issue tracking systems.

Contents. This course surveys the state-of-the-art in sentiment analysis tools, with particular focus on sentiment analysis on user-generated content in the social web (i.e, microblogging data, users’ reviews) and examines to what extent they are able to detect affective expressions in communication traces left by software developers (i.e., in discussion threads in technical community-based question-answering or issue tracking systems). A discussion is offered about the advantages and limitations of choosing sentiment polarity and strength as an appropriate way to operationalize affective states in empirical studies. Finally, open challenges and opportunities of affective software engineering are discussed, with special focus on the need to combine cognitive emotion modeling with affective computing and natural language processing techniques to build large-scale, robust approaches for sentiment detection in software engineering.

The course will feature both lectures and practical sessions. The latter, in particular, will show how to use state-of-the art resources to sentiment analysis, with particular focus to publicily available tools (such as SentiStrength) and dictionaries (such as SentiWordNet, LIWC, or WordNet Affect). Available dataset for sentiment analysis in the social web will be also presented and discussed.

Detailed Program

Detailed program

### Day 1 (5 hours)

9-12: Lecture (3 hours) 

  • Introduction: Personal info & course description (~15 min)
  • Part 1 - Theoretical Background (Affect Modeling)
  • Part 2 - Mining Opinions and Emotions from Text

 (15 mins) Break

  • Part 3 – Emerging Tasks and Key Applications

12-13: Lunch break

13-15: Lab (2 hours)

  • Practicum: Sentiment Analysis with Publicly Available Sentiment Analysis tools


### Day 2 (5 hours)

9-12: Lecture (3 hours) 

  • Part 4 - An Overview on Lexical Resources for Sentiment Analysis

 (15 mins) Break

  • Part 5 – Classifier Models for Sentiment

12-13: Lunch break

13-15: Lab (2 hours)

  • Practicum: Scoring words with Sentiment Lexicons

### Day 3 (6 hours)

9-12: Lecture (3 hours) 

  • Part 6 -Affect Detection in the Social Programmer Ecosystem: Open Challenges
    • A Review of Affective Computing Studies in Software Engineering
    • Opportunities and Open Challenges

(15 mins) Break

  • Part 5 – SE-specific Datasets and Lexical Resources

12-13: Lunch break

13-16: Lab (3 hours)

  • Practicum: Build your own classifier!


  1. F. Calefato, F. Lanubile, M. C. Marasciulo, and N. Novielli, “Mining successful answers in stack overflow,” in Proceedings of the 12th Working Conference on Mining Software Repositories, ser. MSR ’15. Piscataway, NJ, USA: IEEE Press, 2015, pp. 430–433. 

  2. V. Carofiglio, F. d. Rosis, and N. Novielli, “Cognitive Emotion Modeling in Natural Language Communication”. London: Springer London, 2009, pp.23–44. 

  3. D. Graziotin, X. Wang, and P. Abrahamsson, “The Affect of software developers: common misconceptions and measurements”, 2015, in Proceedings of the 8th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE), 2015, IEEE/ACM.
  4. E. Guzman and B. Bruegge, “Towards emotional awareness in software development teams,” in Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ser. ESEC/FSE 2013. New York, NY, USA: ACM, 2013, pp. 671–674.
  5. R. Jongeling, S. Datta, and A. Serebrenik, “On negative results when using sentiment analysis tools for software engineering research,” in Empirical Software Engineering,2017, doi:10.1007/s10664-016-9493-x
  6. M. Mäntylä, B. Adams, G. Destefanis, D. Graziotin, and M. Ortu, “Mining valence, arousal, and dominance: Possibilities for detecting burnout and productivity?” in Proceedings of the 13th International Conference on Mining Software Repositories, ser. MSR ’16. New York, NY, USA: ACM, 2016, pp. 247–258. 

  7. A. Murgia, P. Tourani, B. Adams, and M. Ortu, “Do developers feel emotions? an exploratory analysis of emotions in software artifacts,” in Proceedings of the 11th Working Conference on Mining Software Repositories, ser. MSR 2014. New York, NY, USA: ACM, 2014, pp. 262–271.
  8. N. Novielli, F. Calefato, and F. Lanubile, “The challenges of sentiment detection in the social programmer ecosystem,” in Proceedings of the 7th International Workshop on Social Software Engineering, ser. SSE 2015. New York, NY, USA: ACM, 2015, pp. 33–40. 

  9. B. Pang and L. Lee, “Opinion mining and sentiment analysis,” Found. Trends Inf. Retr., vol. 2, no. 1-2, pp. 1–135, Jan. 2008.
  10. J. Russell, “A circumplex model of affect,” Journal of personality and social psychology, vol. 39, no. 6, pp. 1161–1178, 1980.
  11. M. Thelwall, K. Buckley, and G. Paltoglou, “Sentiment strength detection for the social web,” J. Am. Soc. Inf. Sci. Technol., vol. 63, no. 1, pp. 163–173, 2012. Available:

Credit points

Doctoral students participating in the seminar can obtain 3 credit points. This requires participating on all of the days and completing the assignments given at the seminar.

Registration fee

This seminar is free-of-charge for member organization's staff and their PhD students. For others the participation fee is 400 €. The participation fee includes access to the event and the event materials. Lunch and dinner are not included.