题名 基于SSA中间表示的源代码信息流分析
被引量:1
1
作者
黄强
曾庆凯
机构
南京大学计算机科学与技术系
南京大学计算机软件新技术国家重点实验室
出处
《计算机工程》
CAS
CSCD
北大核心
2009年第13期166-168,171,共4页
基金
国家自然科学基金资助项目(60773170
60721002)
国家"863"计划基金资助项目(2006AA01Z432)
文摘
提出一种基于SSA中间表示的源代码信息流分析算法,介绍隐蔽通道识别过程,采用基于信息流的工作表实现该算法,讨论其在时空代价以及分析精度方面的特点,并将分析框架嵌入GCC编译器。仿真实验结果表明,该算法是有效的,且具有一定应用价值。
关键词
信息流分析
隐蔽通道
静态单一赋值
编译器
Keywords
Information Flow Analysis(IFA)
covert channel
static single assignment(ssa)
compiler
分类号
TP301
[自动化与计算机技术—计算机系统结构]
题名 基于信息流策略的污点传播分析及动态验证
被引量:21
2
作者
黄强
曾庆凯
机构
南京大学计算机软件新技术国家重点实验室
南京大学计算机科学与技术系
出处
《软件学报》
EI
CSCD
北大核心
2011年第9期2036-2048,共13页
基金
国家自然科学基金(60773170,60721002,90818022,61021062)
国家高技术研究发展计划(863)(2006AA01Z432)
+2 种基金
高等学校博士学科点专项科研基金(200802840002)
江苏省科技支撑计划(BE2010032)
上海市信息安全综合管理技术研究重点实验室开放课题(AGK2008003)
文摘
基于流和上下文敏感的SSA(static single assignment)信息流分析技术,提出了一种细粒度、可扩展的污点传播检测方法.利用控制流和数据流的相关信息,跟踪污染数据及其传播路径,可以检测缓冲区溢出、格式化串漏洞等程序脆弱性.分析过程在潜在问题点自动插装动态验证函数,在无需用户干预的情况下保证了程序的运行时安全.在GCC编译器的基础上实现了分析系统,实验结果表明,该方法具有较高的精确度和时空效率.
关键词
脆弱性
信息流
污点传播
动态验证
静态单一赋值
Keywords
vulnerability
information flow
taint propagation
dynamic verification
static single assignment
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 快速自动程序流分析方法研究
被引量:1
3
作者
吴国伟
曹厚华
机构
大连理工大学软件学院
出处
《计算机工程》
CAS
CSCD
北大核心
2010年第15期55-56,共2页
基金
国家自然科学基金资助项目(60703101)
文摘
介绍一种自动程序流信息分析方法,使用静态单赋值简化程序切片中的数据依赖关系,利用简单快速程序切片算法删除对循环控制无影响的语句和控制谓词,利用抽象解释自动精确获得程序流信息。实验结果表明,在不失精度的情况下,该方法的分析速度较普通方法快了近25%,且未假定任何程序格式,适用于任何程序格式的流分析过程。
关键词
嵌入式软件
静态单赋值
程序切片
抽象解释
Keywords
embedded software
static single assignment(ssa)
program slicing
abstract interpretation
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 发掘函数级单指令多数据向量化的方法
4
作者
李颖颖
高伟
高雨辰
翟胜伟
李朋远
机构
数学工程与先进计算国家重点实验室
信息工程大学
中国电子科技集团公司第二十七研究所
北京跟踪与通信技术研究所
出处
《计算机应用》
CSCD
北大核心
2017年第8期2200-2208,共9页
文摘
当前面向单指令多数据(SIMD)扩展部件的两类向量化方法分别是循环级向量化方法和超字级并行(SLP)方法。针对当前编译器不能实现函数级向量化的问题,提出一种基于静态单赋值的函数级向量化方法。该方法首先分析程序的变量属性,然后利用一组包括向量函数子句、一致子句、线性子句等编译指示子句指导编译器实现函数级向量化,最后利用变量属性结果对向量化代码进行了优化。从多媒体和图像处理领域选择部分测试用例对所提的函数级向量化的功能和性能在国产申威平台上进行测试,与程序串行执行相比,采用函数级向量化后程序的执行效率更高。实验结果表明函数级向量化可以取得类似任务级并行的加速效果,该方法可以指导自动函数级向量化的实现。
关键词
单指令多数据扩展
并行性
函数级向量化
编译指示
静态单赋值
Keywords
single Instruction Multiple Data(SIMD) extension
parallelism
function level vectorization
compiler directive
static single assignment
分类号
TP301.6
[自动化与计算机技术—计算机系统结构]
TP311.53
[自动化与计算机技术—计算机软件与理论]
题名 基于支配边界逆转的多变量Φ函数摆放算法
5
作者
马红途
胡世安
苏彦兵
李迅
赵荣彩
机构
海军装备研究院
解放军信息工程大学信息工程学院
出处
《计算机研究与发展》
EI
CSCD
北大核心
2011年第2期346-352,共7页
基金
国家"八六三"高技术研究发展计划基金项目(2006AA01Z408)
文摘
基于Cytron和Cooper等人的研究成果,提出了一个新的概念——支配边界逆转(dominatorfrontier inverse,DFI)来同时为多个变量摆放Φ函数.如果结点y以结点x为支配边界,则结点x就是结点y支配边界逆转.支配边界逆转存在一个很重要的属性,DFI(x)中的结点在支配树上的高度一定不小于x的高度.对DFI(x)中任何结点y,如果存在对于变量v的定义,则结点x上就需要插入变量v的Φ函数.由于采用PHI(x)表示在结点x上需要插入Φ函数的变量集合,实现过程中并不需要实际计算DFI结点集合.算法首先按照结点在支配树上的高度自底向上进行遍历,并逐层计算高度相同的交结点上摆放函数的变量集合PHI的不动点.算法的主要优点是可以直接工作于支配树上,不需要额外的数据结构.C Specint 2000的测试结果表明该算法比Cytron原始的Φ函数摆放算法要快,并且与采用Cooper计算支配边界的算法相比,该算法对测试集中大部分程序也是有效的.
关键词
静态单赋值
支配边界
支配边界逆转
Φ结点
DJ图
Keywords
static single assignment form
dominance frontier
dominance frontier inverse(DFI)
Φ-node
DJ graph
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 一种需求驱动的可信指针分析技术
6
作者
章洁
周西柳
机构
新余学院数学与计算机科学学院
出处
《计算机应用与软件》
CSCD
北大核心
2013年第1期160-164,共5页
文摘
针对现有可信指针分析技术中关于精度和效率之间的取舍和权衡的不足,提出一种需求驱动的可信指针分析技术。该技术通过扩展SSA形式,使SSA可以用来表示间接的内存操作,即可以显式地将指针的解引用表示出来;之后利用引用定值分析将每个扩展SSA变量进行抽象存储,即记录每个变量的存储位置和引用位置,然后通过链进行连接;这样能够很容易地将指针,特别是需要分析的指针进行重点的有针对性的分析,这种本着需求驱动策略的分析方法大大提高分析的效率,最后通过实验验证了该方法的有效性。
关键词
可信指针分析
控制流分析
数据流分析
静态单赋值
需求驱动
Keywords
Trustworthy pointer analysis Control flow analysis Data flow analysis static single assignment (ssa ) Demand-driven
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 缓冲区溢出静态分析中的指针分析算法
被引量:4
7
作者
张明军
罗军
机构
国防科学技术大学计算机学院
出处
《计算机工程》
EI
CAS
CSCD
北大核心
2005年第18期41-43,107,共4页
基金
国家"863"计划软件重大专项基金资助项目"服务器操作系统内核"(2002AA1Z2101)
文摘
提出一个扩展的流不敏感指针分析算法,主要用于缓冲区溢出静态分析,该算法把程序控制流图(CFG)转换为静态单指派(SSA),然后循环调用一个流不敏感指针分析,生成每个指针变量精确的指向集,更新指针变量的定义-引用链中约束信息。在LLVM编译系统下实现了该算法,实验表明其精度和流敏感的指针分析算法相当,但效率高于流敏感指针分析算法,时间复杂度低于流敏感指针分析算法。
关键词
缓冲区溢出
指针分析
静态单指派
定义-引用链
Keywords
Buffer overflow
Pointer analysis: static single assignment (ssa )
Define-use chain
分类号
TP311
[自动化与计算机技术—计算机软件与理论]