中文

PUMiner:基于PU学习从开发者问答网站挖掘安全帖

软件工程 2021-01-05 v1 信息检索 机器学习

摘要

安全性在软件开发中日益受到关注。开发者问答(Q&A)网站提供了大量安全讨论。现有研究使用人工定义规则来挖掘安全讨论,但这些工作仍遗漏许多帖子,可能导致对问答网站上所报告安全实践的分析不完整。传统监督式机器学习(Machine Learning)方法可自动化挖掘过程;然而,所需的负类(非安全类)获取成本过高。我们提出一种新颖的学习框架PUMiner,用于自动从问答网站挖掘安全帖子。PUMiner构建上下文感知嵌入模型以提取帖子特征,进而开发两阶段PU模型,利用已标注正类与未标注(Unlabelled)帖子识别安全内容。我们在Stack Overflow上超过1720万帖子和Security StackExchange上52611帖子上评估PUMiner。结果表明,在所有模型配置下PUMiner验证性能至少达0.85。此外,PUMiner的Matthews相关系数(MCC)分别比单类SVM、正类相似度过滤和单阶段PU模型在未见测试帖上高0.906、0.534和0.084。PUMiner在字符串匹配完全失效的场景下也表现良好,MCC达0.745。即使已标注正类与未标注帖子比例仅为1:100,PUMiner仍取得强劲的MCC 0.65,比全监督学习高160%。利用PUMiner,我们为从业者和研究者提供了问答网站上最大且最新的安全内容。

关键词

引用

@article{arxiv.2003.03741,
  title  = {PUMiner: Mining Security Posts from Developer Question and Answer Websites with PU Learning},
  author = {Triet H. M. Le and David Hin and Roland Croft and M. Ali Babar},
  journal= {arXiv preprint arXiv:2003.03741},
  year   = {2021}
}

备注

Accepted for publication at the 17th Mining Software Repositories 2020 conference