基于距离的 API 误用检测之自动变更规则推断
软件工程
2022-07-15 v1
摘要
开发者基于应用程序编程接口(API)来复用代码库的现有功能。尽管复用成熟库有益(如节省时间、高质量),开发者仍可能偏离API的预期用法;这可能导致缺陷,或更具体地,API误用。近期研究聚焦于开发自动检测API误用的技术,但许多技术假阳性率较高。本文中,我们通过提出ChaRLI(Change RuLe Inference,变更规则推断)改善此状况,一种基于API用法图(AUG)从开发者对API误用的修复中自动推断变更规则的技术。随后通过应用图距离算法,我们利用变更规则区分API误用与正确用法。这使得开发者能在同一或另一项目的其他代码位置复用他人对API误用的修复。我们基于三个数据集评估了变更规则检测API误用的能力,发现最佳平均相对精确率(即可测试用法的)介于77.1%至96.1%,而单个变更规则的平均召回率介于0.007%至17.7%。这些结果印证了ChaRLI及我们的误用检测是对现有API误用检测器的有益补充。
引用
@article{arxiv.2207.06665,
title = {Automated Change Rule Inference for Distance-Based API Misuse Detection},
author = {Sebastian Nielebock and Paul Blockhaus and Jacob Krüger and Frank Ortmeier},
journal= {arXiv preprint arXiv:2207.06665},
year = {2022}
}