Write a Blog >>
ICPC 2021
Tue 18 - Thu 20 May 2021
co-located with ICSE 2021

Carolyn Penstein Rose, Carnegie Mellon University

Title: A Layered Model of Comprehension in Collaborative Software Development: Programs, Programming, and Programmers


Collaborative software development, whether synchronous or asynchronous, is a creative, integrative process in which something new comes into being through the joint engagement, something new that did not fully exist in the mind of any one person prior to the engagement. One can view this engagement from a macro-level perspective, focusing on large scale development efforts of 100 or more developers, organized into sub-teams, producing collections complex software products like Mozilla. Past work in the area of software engineering has explored the symbiosis between the management structure of a software team and the module structure of the resulting software. In this talk, we focus instead on small scale software teams of between 2 and 5 developers, working on smaller-scale efforts of between one hour and 9 months, through more fine grained analysis of collaborative processes and collaborative products. In this more tightly coupled engagement within small groups, we see again a symbiosis between people, processes, and products. This talk bridges between the field of Computer-Supported Collaborative Learning and the study of software teams in the field of Software Engineering by investigating the inner-workings of small scale collaborative software development. Building on over a decade of AI-enabled collaborative learning experiences in the classroom and online, in this talk we report our work in progress beginning with classroom studies in large online software courses with substantial teamwork components. In our classroom work, we have adapted an industry standard team practice referred to as Mob Programming into a paradigm called Online Mob Programming (OMP) for the purpose of encouraging teams to reflect on concepts and share work in the midst of their project experience. At the core of this work are process mining technologies that enable real time monitoring and just-in-time support for learning during productive work. Recent work on deep-learning approaches to program understanding bridge between investigations of processes and products.

Joyce Westerink, Philips and Eindhoven University of Technology

Title: An algorithm to estimate stress-induced cortisol variations from skin conductance measurements


Wearables allow us to measure our bodily and mental state in real life, but the interpretation of these signals is not always straightforward. In order to nevertheless develop a stress indicator for use in wearables, we focused on skin conductance, since it almost instantaneously reacts to psychological stress. As a ground truth, we also looked at the stress hormone cortisol, which is known to peak about 20-30 min later. We modeled the relation between the two as a convolution of the height of the skin conductance peaks with the cortisol stress response curve. Thus we obtained a skin conductance-derived estimate of stress-induced cortisol, and we implemented this in an algorithm.

In order to validate this model we compared the skin-conductance derived stress estimates with cortisol levels actually measured in saliva samples in a group of 46 participants. They performed a set of stressful, boring, and performance tasks, while we measured their skin conductance continuously and took salivary cortisol samples at several moments in time. Most participants indeed showed an increase in salivary cortisol after the stressful task, but a sizeable group did not. For both groups, we found that the correlation between our algorithm’s stress estimates and the measured salivary cortisol was substantial. Therefore, these results support the use of our algorithm as a stress indicator.