Bug reports are common artefacts in software development. They serve as the main channel for users to communicate to developers information about the issues that they encounter when using released versions of software programs. In the descriptions of issues, however, a user may, intentionally or not, expose a vulnerability. In a typical maintenance scenario, such security-relevant bug reports are prioritised by the development team when preparing corrective patches. Nevertheless, when security relevance is not immediately expressed (e.g., via a tag) or rapidly identified by triaging teams, the open security-relevant bug report can become a critical leak of sensitive information that attackers can leverage to perform zero-day attacks. To support practitioners in triaging bug reports, the research community has proposed a number of approaches for the detection of security-relevant bug reports. In recent years, approaches in this respect based on machine learning have been reported with promising performance. Our work focuses on such approaches, and revisits their building blocks to provide a comprehensive view on the current achievements. To that end, we built a large experimental dataset and performed extensive experiments with variations in feature sets and learning algorithms. Eventually, our study highlights different approach configurations that yield best performing classifiers.
翻译:错误报告是软件开发中常见的手工艺品,是用户向开发者传递他们使用软件程序发布版本时遇到的问题的信息的主要渠道。但是,在问题说明中,用户可能有意或不故意暴露脆弱性。在典型的维护情况下,开发小组在准备纠正补丁时,优先考虑这种与安全有关的错误报告。然而,当安全相关性不立即表示(例如通过标签)或由三角小组迅速确定时,公开的安全相关错误报告可能成为攻击者可用来进行零天攻击的敏感信息的重大泄漏。为了支持进行错误报告三角化的操作者,研究界提出了检测与安全有关的错误报告的若干方法。近年来,根据机器学习报告的方法有良好的表现。我们的工作侧重于这些方法,并重新审视其构件,以提供关于当前成就的全面看法。为此,我们建立了一个大型的实验数据集,并进行了广泛的实验,在特征组合和学习算法上各有差异。最后,我们的研究突出了不同方法的配置,以产生最佳的演化者。