Rationale in Development Chat Messages: An Exploratory Study
This work addresses the challenge of extracting rationale from unstructured chat messages for software development teams, which is incremental in applying existing methods to a new data source.
The study investigated the presence and completeness of rationale in software development chat messages, finding that chat messages are a rich source of rationale and that machine learning techniques show promise for detecting and identifying rationale elements, based on analysis of over 8,700 messages from three projects.
Chat messages of development teams play an increasingly significant role in software development, having replaced emails in some cases. Chat messages contain information about discussed issues, considered alternatives and argumentation leading to the decisions made during software development. These elements, defined as rationale, are invaluable during software evolution for documenting and reusing development knowledge. Rationale is also essential for coping with changes and for effective maintenance of the software system. However, exploiting the rationale hidden in the chat messages is challenging due to the high volume of unstructured messages covering a wide range of topics. This work presents the results of an exploratory study examining the frequency of rationale in chat messages, the completeness of the available rationale and the potential of automatic techniques for rationale extraction. For this purpose, we apply content analysis and machine learning techniques on more than 8,700 chat messages from three software development projects. Our results show that chat messages are a rich source of rationale and that machine learning is a promising technique for detecting rationale and identifying different rationale elements.