检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:董玉坤[1] DONG Yu-kun(College of Computer and Communication Engineering,China University of Petroleum,Qingdao 266580,China)
机构地区:[1]中国石油大学(华东)计算机与通信工程学院,青岛266580
出 处:《科学技术与工程》2018年第7期172-178,共7页Science Technology and Engineering
基 金:山东省自然科学基金(No.BS2015DX017)资助
摘 要:C程序中的条件表达式是唯一一个由三目运算符构成的表达式;而从语义角度来说是分支语句结构,传统的数据流分析技术难以实现对其精确分析。为实现对条件表达式的精确分析,提出了一种应用区间运算的条件表达式分析方法。首先对条件表达式的语法结构进行分析,以识别不同类型的条件表达式;并采用RSTVL描述程序点上的存储状态;再按照分支语句的语义,通过分析条件表达式中的符号约束集,基于区间运算方法对条件表达式进行数据流分析,得到由RSTVL描述的条件表达式的取值。通过对构造的测试用例与实际工程的测试结果表明,可以精确地分析C程序中的条件表达式。The conditional expression in C program is the only one that is composed by ternary operators,and it is a branch structure from the semantic point of view,it s difficult to analysis it precisely by traditional data flow analysis.In order to realize precise analysis of the conditional expression,an analysis method based on interval computing was proposed.Firstly,the grammatical structure of conditional expression was analyzed to identify different types of conditional expression;and RSTVL was applied to describe the storage status of each program point;then according to the semantics of branch statements,through the analysis of symbolic constraints in the expression set,data flow analysis of conditional expressions was achieved based on interval computation,which can get the value of conditional expression.Based on the test cases and the actual programs test results show that this method can accurately analyze the conditional expression in C program.
关 键 词:条件表达式 数据流分析 抽象内存模型 区间运算 符号约束集
分 类 号:TP311.5[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:3.15.226.5