Spotlight

A Conflict Detection Chatbot – A Story of International Visiting Undergraduate Students

Undergraduate students YoungJae Kim, MyeongSoo Kim, KaHye Ahn, SeungEon Lee, SeonKyu Kim, Sooyoung Baek, JaeEun Choi, ChaeYeon Han with Prof. André van der Hoek (center).

Mix eight visiting undergraduates from Korea, a second-year Ph.D. student from Iran, and a Dutch professor of Software Engineering in ISR and what do you get? One amazing international collaboration resulting in a fully-functioning Slack- GitHub chatbot that notifies software developers of conflicts among changes being made in parallel, that is!

The story starts in Spring 2017, when Said Shokair – Director of Undergraduate Research Opportunities for UCI – approached Professor André van der Hoek about thProf. Andre van der Hoeke possibility of advising a small team of visiting undergraduates from select universities in Korea. Building upon the highly successful Undergraduate Research Opportunities Program (UROP) that every year sees nearly a thousand UCI undergraduates engage in research, Said wanted to broaden the program vision by creating a similar opportunity for foreign students. The program grew rapidly and that year saw 50 students join various research projects across ICS and Engineering. van der Hoek signed up and adopted a team that explored various crowdsourcing techniques for software design. This experience was so fruitful that for Summer 2018 he decided to once again be part of the exchange.

For this second exchange, van der Hoek hosted five undergraduates from three Korean universities (Kookmin University, KyungHee University, and Sogang University). He brought on Elahe Paikari, a graduate student who had just finished her first year as an advisee of van der Hoek, to co-advise the students in exploring the role that chatbots can play in software development. Much has been made about chatbots and how they are rapidly taking hold in all sorts of places—witness the chatbot that serves as the first response to online support requests or the chatbot that might help you make a reservation at a restaurant. In software engineering, too, a wide variety of chatbots have emerged, working in concert with developers in platforms such as Slack, GitHub, or Atlassian.

Paikari’s first year was spent taking a close look at all these emerging software engineering chatbots and building a framework to understand, compare, and contrast them. This framework was published in the 2018 Cooperative and Human Aspects of Software Engineering (CHASE) workshop, and included several important observations. First, most chatbots in software engineering aren’t exactly ‘chatty’. Rather, they are merely small scripts or tools that integrate with a messaging tool (e.g., Slack) to be invoked or periodically provide some information in, e.g., a Slack channel. They definitely do not engage in any sort of meaningful conversation. Second, the functionality that is offered is typically quite limited. While the chatbots can certainly be useful, the kinds of tasks for which they work best in practice thus far are, by and large, simple and repetitive. More complex tasks such as support for design or support for effective collaborative practices remain out of reach.

Elahe PaikariPaikari and van der Hoek tasked the Korean students to come up with a new, more conversational, and more challenging chatbot so as to understand what the potential of chatbots could be. Taking inspiration from Prof. and alumna Anita Sarma (Oregon State University) and van der Hoek’s prior work on Palantír—a tool that visualizes potential conflicts emerging from parallel development work—the students took on this task with vigor and over the span of less than ten weeks built a prototype that began to emulate Palantír’s functionality through Slack and GitHub. When developers make parallel changes on different GitHub branches that conflict, they are informed by the chatbot— which the students dubbed SayMe— and can subsequently also ask for more details about the nature of the conflict.

With the end of summer nearing, however, and the project just beginning to scratch the surface of possibilities, one of the students decided to stay for Fall and two other students from other summer projects joined the project (they had secretly already been informally contributing because they liked the chatbot project so much). During Fall, they not only polished the core prototype, but also extended it significantly with conversational capabilities. SayMe now advises developers about a ‘best’ course of action when they encounter a conflict and also now predicts based on ongoing changes whether conflicts may occur in the future.

While the Korean students unfortunately had to go home at the end of Fall, Paikari and van der Hoek plan to take the project forward with lots of ideas for expansion of the chatbot and its functionality, and by performing a first set of experiments to determine how real developers on real projects look at SayMe as another tool available to them.

van der Hoek could not be happier about the experience: “The Korean students were outstanding, not only technically, but also in shaping the direction of the research and now outlining and actually writing a first workshop paper about SayMe. With ICSE 2019 in Korea, I definitely look forward to meeting the students again and celebrating what hopefully will be an accepted paper that they will be proud of and can look back on as the culmination of their visit to UCI and ISR!”

For more information, visit van der Hoek’s website: http://sdcl.ics.uci.edu/.

This article appeared in ISR Connector issue: