用于API误用检测的判别子图模式的主动学习
软件工程
2022-04-22 v1
摘要
缺陷和漏洞的一个常见原因是违反了与应用编程接口(API)相关的使用约束。API误用在软件项目中很常见,尽管已有技术被提出来检测此类误用,但研究表明它们无法可靠地检测误用,同时报告了许多误报。先前工作的一个局限是无法可靠地识别正确的使用模式。许多方法将使用模式的频率误认为正确性。由于存在多种可能不常见但正确的替代使用模式,基于异常检测的技术在识别误用方面成功率有限。我们应对这些挑战并提出了ALP(主动学习模式,Actively Learned Patterns),将API误用检测重新表述为一个分类问题。在将程序表示为图之后,ALP挖掘判别子图。虽然仍结合频率信息,但通过有限的人工监督,我们减少了对频率与正确性相关假设的依赖。我们融入了主动学习的原则,将人类注意力从最频繁的模式上转移开。相反,ALP对信息量大且具代表性的样例进行采样,同时最小化标注工作量。在我们的实证评估中,ALP在API误用基准MUBench以及我们从真实软件项目构建的新数据集上均大幅优于先前方法。
引用
@article{arxiv.2204.09945,
title = {Active Learning of Discriminative Subgraph Patterns for API Misuse Detection},
author = {Hong Jin Kang and David Lo},
journal= {arXiv preprint arXiv:2204.09945},
year = {2022}
}