DFlow: A Data Flow Analysis Tool for C/C++

计算机科学 正则表达式 构造(python库) Python(编程语言) 程序设计语言 Java 控制流分析 静态分析 程序切片 控制流程 汇编语言 软件 程序设计范式 归纳程序设计 程序设计域
作者
Qiaoqiao Yan,Yongjun Li,Yuanhao Wu,Jialong Zhou
出处
期刊:Ieej Transactions on Electrical and Electronic Engineering [Wiley]
卷期号:16 (12): 1635-1641 被引量:3
标识
DOI:10.1002/tee.23467
摘要

Abstract Abstract syntax trees (ASTs), control flow graphs (CFGs), and data flow analysis (DFA) are prerequisites for static and dynamic analysis and vulnerability detection for programs; thus, obtaining them is significant. Recently, many tools related to generating ASTs, CFGs, and DFA have been proposed. However, most tools can only construct ASTs, very few can construct ASTs and CFGs, and almost none can construct all three. The vast majority of AST, CFG, and DFA tools are for other languages (e.g., Java and Python), and while a few are for C/C++, they are implemented in other languages, creating complex working environments, and overreliance on other language‐related libraries. To address these shortcomings, we present a DFA tool, DFlow, for C/C++. First, a lexical/grammatical analyzer generated by Flex and Bison is used to analyze the program. Second, an AST is constructed from the results; then, a CFG is obtained from the analysis results and the information from the AST. Finally, based on the AST and CFG, DFA is performed, and the vulnerabilities of simple programs are determined. We test some common vulnerable code and common weakness enumeration slicing code, which show the effectiveness of DFlow in program data flow analysis and vulnerability checking. The results show that our tool can implement ASTs, CFGs, and DFA, and we add some rules to the tool for vulnerability detection. © 2021 Institute of Electrical Engineers of Japan. Published by Wiley Periodicals LLC.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
刚刚
松鼠非鼠完成签到 ,获得积分10
1秒前
雨晨完成签到,获得积分10
2秒前
刘宇翔发布了新的文献求助10
3秒前
研究牛牛完成签到,获得积分10
3秒前
3秒前
3秒前
5秒前
jiang完成签到,获得积分10
7秒前
刘宇翔完成签到,获得积分10
7秒前
7秒前
朴素烨霖完成签到,获得积分10
9秒前
1234645678发布了新的文献求助10
9秒前
cc发布了新的文献求助20
9秒前
领导范儿应助111采纳,获得10
9秒前
drwang发布了新的文献求助10
11秒前
蝶步韶华发布了新的文献求助10
11秒前
llly发布了新的文献求助10
11秒前
11秒前
12秒前
MaFY完成签到,获得积分10
12秒前
李爱国应助xiaojia采纳,获得10
12秒前
12秒前
务实凡灵完成签到,获得积分10
12秒前
13秒前
酷波er应助辛夷采纳,获得10
14秒前
天涯倦客完成签到,获得积分10
15秒前
张靖超发布了新的文献求助10
16秒前
Rabbit发布了新的文献求助10
18秒前
18秒前
18秒前
科研通AI5应助科研狗采纳,获得10
18秒前
18秒前
21秒前
aobacae完成签到,获得积分10
22秒前
马甲发布了新的文献求助10
22秒前
22秒前
十三艘船发布了新的文献求助10
23秒前
cc完成签到,获得积分10
23秒前
直率雨灵发布了新的文献求助10
23秒前
高分求助中
Mass producing individuality 600
Algorithmic Mathematics in Machine Learning 500
非光滑分析与控制理论 500
Разработка метода ускоренного контроля качества электрохромных устройств 500
A Combined Chronic Toxicity and Carcinogenicity Study of ε-Polylysine in the Rat 400
Advances in Underwater Acoustics, Structural Acoustics, and Computational Methodologies 300
The Routledge Handbook of Language and Intercultural Communication 200
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 物理 生物化学 纳米技术 计算机科学 化学工程 内科学 复合材料 物理化学 电极 遗传学 量子力学 基因 冶金 催化作用
热门帖子
关注 科研通微信公众号,转发送积分 3826701
求助须知:如何正确求助?哪些是违规求助? 3369009
关于积分的说明 10453658
捐赠科研通 3088582
什么是DOI,文献DOI怎么找? 1699218
邀请新用户注册赠送积分活动 817281
科研通“疑难数据库(出版商)”最低求助积分说明 770148