APICAD: Augmenting API Misuse Detection through Specifications from Code and Documents

代码库 计算机科学 软件错误 应用程序编程接口 编码(集合论) Linux内核 程序设计语言 源代码 数据库 软件 操作系统 集合(抽象数据类型)
作者
Xiaoke Wang,Lei Zhao
标识
DOI:10.1109/icse48619.2023.00032
摘要

Using API should follow its specifications. Otherwise, it can bring security impacts while the functionality is damaged. To detect API misuse, we need to know what its specifications are. In addition to being provided manually, current tools usually mine the majority usage in the existing codebase as specifications, or capture specifications from its relevant texts in human language. However, the former depends on the quality of the codebase itself, while the latter is limited to the irregularity of the text. In this work, we observe that the information carried by code and documents can complement each other. To mitigate the demand for a high-quality codebase and reduce the pressure to capture valid information from texts, we present APICAD to detect API misuse bugs of C/C++ by combining the specifications mined from code and documents. On the one hand, we effectively build the contexts for API invocations and mine specifications from them through a frequency-based method. On the other hand, we acquire the specifications from documents by using lightweight keyword-based and NLP-assisted techniques. Finally, the combined specifications are generated for bug detection. Experiments show that APICAD can handle diverse API usage semantics to deal with different types of API misuse bugs. With the help of APICAD, we report 153 new bugs in Curl, Httpd, OpenSSL and Linux kernel, 145 of which have been confirmed and 126 have applied our patches.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
大幅提高文件上传限制,最高150M (2024-4-1)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
1秒前
王双羊发布了新的文献求助10
2秒前
明哲派完成签到,获得积分10
3秒前
新昵称发布了新的文献求助10
4秒前
王ccccc发布了新的文献求助10
5秒前
5秒前
zxx5012发布了新的文献求助10
6秒前
FODCOC发布了新的文献求助200
6秒前
ttlll完成签到 ,获得积分10
6秒前
7秒前
qumingzihaonan完成签到,获得积分10
7秒前
8秒前
9秒前
10秒前
10秒前
10秒前
Owen应助王ccccc采纳,获得10
11秒前
闪闪新波发布了新的文献求助10
12秒前
13秒前
如意的白晴完成签到 ,获得积分10
13秒前
忧虑的安青完成签到,获得积分10
13秒前
Owen应助科研小风采纳,获得10
13秒前
augur完成签到,获得积分10
14秒前
可A发布了新的文献求助10
15秒前
七七完成签到,获得积分20
16秒前
16秒前
傲娇的觅翠完成签到 ,获得积分10
20秒前
越学越精神完成签到,获得积分10
21秒前
彭于晏应助忧虑的安青采纳,获得10
23秒前
23秒前
23秒前
23秒前
闪闪新波完成签到,获得积分10
24秒前
如意2023发布了新的文献求助10
28秒前
青人发布了新的文献求助10
28秒前
研友_VZG7GZ应助ml3029采纳,获得10
29秒前
Avatar发布了新的文献求助10
32秒前
万能图书馆应助robin采纳,获得10
34秒前
汉堡包应助sunzhuxi采纳,获得10
36秒前
zp发布了新的文献求助10
39秒前
高分求助中
rhetoric, logic and argumentation: a guide to student writers 1000
Cambridge introduction to intercultural communication 1000
One Man Talking: Selected Essays of Shao Xunmei, 1929–1939 1000
A Chronicle of Small Beer: The Memoirs of Nan Green 1000
Understanding Autism and Autistic Functioning 950
From Rural China to the Ivy League: Reminiscences of Transformations in Modern Chinese History 900
Eric Dunning and the Sociology of Sport 850
热门求助领域 (近24小时)
化学 医学 材料科学 生物 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 基因 遗传学 物理化学 催化作用 免疫学 细胞生物学 电极
热门帖子
关注 科研通微信公众号,转发送积分 2915618
求助须知:如何正确求助?哪些是违规求助? 2554525
关于积分的说明 6910951
捐赠科研通 2215882
什么是DOI,文献DOI怎么找? 1177869
版权声明 588353
科研通“疑难数据库(出版商)”最低求助积分说明 576535