How do developers discuss rationale?

Rana Alkadhi*, Manuel Nonnenmacher, Emitza Guzman, Bernd Bruegge

*Corresponding author for this work

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Developers make various decisions during software development. The rationale behind these decisions is of great importance during software evolution of long living software systems. However, current practices for documenting rationale often fall short and rationale remains hidden in the heads of developers or embedded in development artifacts. Further challenges are faced for capturing rationale in OSS projects; in which developers are geographically distributed and rely mostly on written communication channels to support and coordinate their activities. In this paper, we present an empirical study to understand how OSS developers discuss rationale in IRC channels and explore the possibility of automatic extraction of rationale elements by analyzing IRC messages of development teams. To achieve this, we manually analyzed 7,500 messages of three large OSS projects and identified all fine-grained elements of rationale. We evaluated various machine learning algorithms for automatically detecting and classifying rationale in IRC messages. Our results show that 1) rationale is discussed on average in 25% of IRC messages, 2) code committers contributed on average 54% of the discussed rationale, and 3) machine learning algorithms can detect rationale with 0.76 precision and 0.79 recall, and classify messages into finer-grained rationale elements with an average of 0.45 precision and 0.43 recall.

Original languageEnglish
Title of host publication25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages357-367
Number of pages11
ISBN (Electronic)9781538649695
DOIs
Publication statusPublished - 2 Apr 2018
Externally publishedYes
Event25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Campobasso, Italy
Duration: 20 Mar 201823 Mar 2018

Publication series

Name25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings
Volume2018-March

Conference

Conference25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018
CountryItaly
CityCampobasso
Period20/03/1823/03/18

Fingerprint

Dive into the research topics of 'How do developers discuss rationale?'. Together they form a unique fingerprint.

Cite this