一句话:通过质性分析与监督分类识别 GitHub 开源项目 Issue 讨论中的 16 类信息。
开源软件的问题跟踪系统允许用户评论,长期积累的讨论线程蕴含丰富项目信息,但从中检索相关信息困难。本文对 GitHub 三个项目中的 15 条复杂 Issue 线程进行质性内容分析,归纳出 16 种信息类型,并构建含 4656 个句子的标注语料。随后评估监督式自动分类:当具备 Issue 先验知识时,随机森林利用句子长度、位置等对话特征能有效检测多数句子类型;而对新 Issue 分类时,逻辑回归在部分信息类型上借助文本特征效果尚可,其他类型则表现不足。该工作是支持从 ITS 中获取信息的第一步。
Most modern Issue Tracking Systems (ITSs) for open source software (OSS) projects allow users to add comments to issues. Over time, these comments accumulate into discussion threads embedded with rich information about the software project, which can potentially satisfy the diverse needs of OSS stakeholders. However, discovering and retrieving relevant information from the discussion threads is a challenging task, especially when the discussions are lengthy and the number of issues in ITSs are vast. In this paper, we address this challenge by identifying the information types presented in OSS issue discussions. Through qualitative content analysis of 15 complex issue threads across three projects hosted on GitHub, we uncovered 16 information types and created a labeled corpus containing 4656 sentences. Our investigation of supervised, automated classification techniques indicated that, when prior knowledge about the issue is available, Random Forest can effectively detect most sentence types using conversational features such as the sentence length and its position. When classifying sentences from new issues, Logistic Regression can yield satisfactory performance using textual features for certain information types, while falling short on others. Our work represents a nontrivial first step towards tools and techniques for identifying and obtaining the rich information recorded in the ITSs to support various software engineering activities and to satisfy the diverse needs of OSS stakeholders.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{AryaWGC19,
title = {Analysis and Detection of Information Types of Open Source Software Issue Discussions},
author = {Deeksha Arya and Wenting Wang and Jin L.C. Guo and Jinghui Cheng},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00058}
}