收藏本站
《国防科学技术大学》 2010年
收藏 | 手机打开
二维码
手机客户端打开本文

基于区间线性抽象域的可靠浮点及非凸静态分析

陈立前  
【摘要】: 软件的可信性已成为现代软件质量问题的焦点。发现并排除软件缺陷是构建可信软件的重要途径,这对于航天、国防、汽车等安全攸关应用尤其重要。科学与工程应用相关程序,特别是一些安全攸关嵌入式软件,一般与数学和物理有着紧密的联系,从而不可避免地会包含大量数值计算。因此,许多程序缺陷往往和程序中的数值性质密切相关,比如除零错、算术溢出、数组越界等运行时错误。 抽象解释是一种对程序语义进行近似(或抽象)的通用理论,并为静态分析提供了一个通用的框架。而抽象域则是抽象解释框架下的核心要素,通过选择特定的语义表示和操作算法来发现所关注的性质。数值抽象域可用来自动发现程序中的数值性质,即程序变量间的数值关系。经过数十年的发展,在基于抽象解释的数值程序分析领域,出现了许多面向不同数值性质、表达能力多样的数值抽象域。然而,大部分已有数值抽象域(尤其是关系型抽象域)都是采用多精度有理数来实现以保证可靠性,时空开销较大,从而影响到分析的计算效率和可扩展性;而且,大部分已有数值抽象域在表达能力方面存在凸性局限性,对析取的处理能力较弱;此外,已有数值抽象域尚不支持实际程序分析中常出现的区间系数。 本文主要研究数值抽象域的设计和实现。研究目标包括:探索数值抽象域的可靠浮点构造方法,以通过浮点实现来提高计算效率;设计新的数值抽象域使其能够表达非凸性质并支持区间系数,以通过增强表达能力来提高分析精度。本文主要工作如下: 1)提出了浮点多面体抽象域,作为经典凸多面体域的一种可靠浮点构造方法。凸多面体域是目前表达能力最强、应用最广泛的数值抽象域之一,但是其基于多精度有理数的实现在可扩展性和易处理性方面受到限制。本文仅基于凸多面体的约束表示(无需生成子表示)并采用浮点系数,给出了凸多面体抽象域的一种可靠浮点实现方法,以通过浮点实现来提高凸多面体域的计算效率和处理能力。由于基于约束的多面体域的复杂度主要源于其高代价的接合操作(即凸闭包),本文还提出了一系列低代价的弱接合操作。 2)把区间线性代数引入到程序分析中,提出了一系列支持区间系数的区间线性抽象域。区间(算术)为构造可靠的浮点抽象域提供了一种自然且有效的途径,并且在实现浮点多面体域过程中也产生了凸多面体表达能力之外的区间线性约束。本文提出了区间多面体抽象域,用以推导程序中变量间的区间线性不等式关系。该域可以看作是经典凸多面体域的区间系数扩展版本。作为一种受限情形,本文还提出了行阶梯形区间线性等式抽象域,用以推导区间线性等式关系。其表示方法基于区间线性等式系统的行阶梯形式,使得该域具有多项式的时空复杂度。该域可以看作是经典仿射等式抽象域的区间系数扩展版本。通过采用区间线性系统的弱解语义,这些区间线性抽象域能够天然地表达某类拓扑非凸(甚至非连通)性质。本文采用浮点数并基于向外舍入的区间算术可靠地实现了这些抽象域。 3)提出了一系列可表达非凸性质的线性绝对值抽象域。绝对值是数学中的一个基本概念,常用来描述数学或物理模型中的分段线性特征,并且可以表达非凸性质。本文给出并证明了线性绝对值不等式系统、区间线性不等式系统、广义线性互补问题(系统)三者之间的等价性,以及线性绝对值等式系统、水平线性互补问题(系统)两者之间的等价性。基于凸多面体的双重描述法,给出了广义线性互补问题(系统)的双重描述法,并作为其应用还给出了一种求解绝对值线性规划问题的新方法。在此基础上,本文提出了线性绝对值不等式抽象域(用来推导线性绝对值不等式/区间线性不等式/广义线性互补不等式关系)和线性绝对值等式抽象域(用来推导线性绝对值等式/水平线性互补等式关系)。线性绝对值不等式域是经典多面体域的一般化,虽然表达能力与区间多面体域相同,但是其域操作都是具体域上对应操作的最佳抽象。而线性绝对值等式域是经典仿射等式域的一般化。基于广义线性互补系统的双重描述法并采用多精度有理数实现了这两个抽象域。 本文提出的数值抽象域在分析精度和计算效率间进行了不同的权衡,可以面向不同的应用。这些抽象域都在数值抽象域库APRON中得以实现,并且实验结果令人鼓舞。
【学位授予单位】:国防科学技术大学
【学位级别】:博士
【学位授予年份】:2010
【分类号】:TP311.53

【引证文献】
中国期刊全文数据库 前1条
1 姜加红;陈立前;王戟;;基于浮点区间幂集抽象域的浮点程序分析[J];计算机科学与探索;2013年03期
中国博士学位论文全文数据库 前1条
1 李仁见;堆操作程序分析验证技术研究[D];国防科学技术大学;2011年
中国硕士学位论文全文数据库 前2条
1 刘江潮;弱关系型绝对值数值抽象域研究[D];国防科学技术大学;2013年
2 姜加红;面向浮点C程序的区间分析方法[D];国防科学技术大学;2012年
【参考文献】
中国期刊全文数据库 前4条
1 ;Obtaining exact value by approximate computations[J];Science in China(Series A:Mathematics);2007年09期
2 梅宏;王千祥;张路;王戟;;软件分析技术进展[J];计算机学报;2009年09期
3 陈立前;王戟;侯苏宁;;单变量区间线性不等式抽象域[J];计算机学报;2010年03期
4 刘克;单志广;王戟;何积丰;张兆田;秦玉文;;“可信软件基础研究”重大研究计划综述[J];中国科学基金;2008年03期
【共引文献】
中国期刊全文数据库 前10条
1 张超,修乃华;关于扩展的垂直线性互补问题的V-P性质[J];北方交通大学学报;2003年06期
2 袁霖;王怀民;尹刚;史殿习;米海波;;基于角色的软件可信评估技术[J];北京工业大学学报;2010年05期
3 李震;刘斌;陆民燕;殷永峰;;基于扩展Petri网的除冰软件安全需求建模和验证[J];北京航空航天大学学报;2012年01期
4 张泽莉,马华东;简单网络支付协议的形式模型[J];北京邮电大学学报;2002年04期
5 张冬梅,马华东,高大永;基于Uppaal的移动IPv6协议的模型检测[J];北京邮电大学学报;2005年04期
6 石剑飞;闫怀志;秦玮;王文同;;Component-Based Software Trustworthiness Fuzzy Analytic Hierarchy Process Model[J];Journal of Beijing Institute of Technology;2010年02期
7 曹梅;赵雪;;多目标优化问题的同伦内点解法[J];江西师范大学学报(自然科学版);2011年06期
8 刘兆存;范玮佳;;软件过程中可复用需求分析[J];重庆理工大学学报(自然科学);2012年01期
9 龚成;戴培良;;广义绝对值方程[J];常熟理工学院学报;2011年08期
10 林惠民,张文辉;模型检测:理论、方法与应用[J];电子学报;2002年S1期
中国重要会议论文全文数据库 前8条
1 ;Potential Reduction Interior Point Algorithm for Absolute Value Equations[A];中国自动化学会控制理论专业委员会D卷[C];2011年
2 周献中;李檬;朱颖颖;占济舟;赵佳宝;;基于系统思想的软件可信性内涵与特征分析[A];经济全球化与系统工程——中国系统工程学会第16届学术年会论文集[C];2010年
3 周献中;李檬;占济舟;朱颖颖;赵佳宝;;研究软件可信性的新视角:失信因子[A];经济全球化与系统工程——中国系统工程学会第16届学术年会论文集[C];2010年
4 余兴超;马争先;王玉斌;董荣胜;;基于UPPAAL的简单网络支付协议形式化验证[A];广西计算机学会2010年学术年会论文集[C];2010年
5 萧德云;莫以为;;混合系统的验证与控制综合[A];第二十一届中国控制会议论文集[C];2002年
6 郭华;庄雷;;电子商务协议的形式化验证方法及FR验证实例[A];2005年全国理论计算机科学学术年会论文集[C];2005年
7 李震;刘斌;殷永峰;李晓勋;;基于改进Petri网的可信软件模型验证和测试研究[A];第六届中国测试学术会议论文集[C];2010年
8 裴顺昌;宋浩;李建平;蔡晨;;基于CMMI风险管理体系的可信软件开发风险管理研究[A];第十一届中国管理科学学术年会论文集[C];2009年
中国博士学位论文全文数据库 前10条
1 赵倩;基于自配置的软件可信性增长模型及方法[D];哈尔滨工程大学;2010年
2 饶蕾;信息物理融合系统能量管理研究[D];华中科技大学;2010年
3 杨年华;模型驱动架构中的可信嵌入式软件建模与分析[D];华东理工大学;2011年
4 曹涌;基于分形的软件可靠性模型和程序证明的数学机械化[D];电子科技大学;2010年
5 王晓暾;不确定信息环境下的质量功能展开研究[D];浙江大学;2011年
6 陈石坤;面向程序验证的循环不变式自动构造技术研究[D];国防科学技术大学;2010年
7 向纯洁;信息系统开发团队绩效影响行为因素研究[D];华中科技大学;2011年
8 王娟丽;基于QFD的概念设计方法研究[D];浙江大学;2011年
9 崔展齐;若干软件非功能属性相关的设计和实现技术研究[D];南京大学;2011年
10 占济舟;失信因子对软件可信性的影响及其控制[D];南京大学;2011年
中国硕士学位论文全文数据库 前10条
1 尹传龙;实时模型检测中精确加速的研究[D];郑州大学;2010年
2 程永江;基于时间自动机的模型验证技术[D];郑州大学;2009年
3 王志兵;软件行为运行时验证研究[D];湖南工业大学;2010年
4 刘小飞;分布式软件动态调控策略研究[D];湖南工业大学;2010年
5 李静;基于灰色理论的可信软件规划质量屋模型研究[D];浙江大学;2011年
6 张军宝;基于域描述语言的Java规则引擎实现方法[D];华东理工大学;2011年
7 郭志良;基于时间自动机模型的CBTC系统安全计算机平台的形式化验证[D];北京交通大学;2010年
8 马世敏;基于可信计算的内网监控系统的研究与实现[D];电子科技大学;2011年
9 聂世超;PHP程序静态分析系统的设计与实现[D];吉林大学;2011年
10 原义盈;嵌入式软件堆栈溢出的静态测试方法研究[D];北京交通大学;2011年
【同被引文献】
中国期刊全文数据库 前6条
1 王雅文;宫云战;肖庆;杨朝红;;基于抽象解释的变量值范围分析及应用[J];电子学报;2011年02期
2 侯苏宁;陈立前;王昭飞;王戟;;一个面向C和Fortran数值程序的静态分析工具[J];计算机工程与科学;2011年03期
3 张健;;精确的程序静态分析[J];计算机学报;2008年09期
4 陈立前;王戟;侯苏宁;;单变量区间线性不等式抽象域[J];计算机学报;2010年03期
5 李梦君;李舟军;陈火旺;;基于抽象解释理论的程序验证技术[J];软件学报;2008年01期
6 刘克;单志广;王戟;何积丰;张兆田;秦玉文;;“可信软件基础研究”重大研究计划综述[J];中国科学基金;2008年03期
中国博士学位论文全文数据库 前3条
1 易晓东;面向C程序验证的切片执行方法[D];国防科学技术大学;2006年
2 刘万伟;扩展时序逻辑的推理及符号化模型检验技术[D];国防科学技术大学;2009年
3 马晓东;C程序内存错误静态分析技术研究[D];国防科学技术大学;2009年
【二级参考文献】
中国期刊全文数据库 前4条
1 杨芙清;吕建;梅宏;;网构软件技术体系:一种以体系结构为中心的途径[J];中国科学(E辑:信息科学);2008年06期
2 李必信,郑国梁,王云峰,李宣东;一种分析和理解程序的方法──程序切片[J];计算机研究与发展;2000年03期
3 姬孟洛;王怀民;李梦君;董威;齐治昌;;一种基于抽象解释和通用单调数据流框架的值范围分析方法[J];计算机研究与发展;2006年11期
4 张健;;精确的程序静态分析[J];计算机学报;2008年09期
【相似文献】
中国期刊全文数据库 前10条
1 杨质 ,李淑玲;几个浮点子程序的设计及其应用[J];电光与控制;1990年04期
2 李笑盈,孙富明,夏宏;浮点加法运算器前导1预判电路的实现[J];计算机工程与应用;2002年21期
3 黎铁军;李秋亮;徐炜遐;;一种128位高性能全流水浮点乘加部件[J];国防科技大学学报;2010年02期
4 盛利元;全俊斌;;计算机迭代下混沌序列的周期研究[J];计算机应用;2010年07期
5 沈涵,陈进;高性能浮点DSP芯片加法运算单元的研究与设计[J];通信技术;2003年11期
6 王永;夏宏;;高性能浮点乘法的设计[J];中国电力教育;2007年S3期
7 ;产品[J];电子设计应用;2007年04期
8 ;德州仪器推出最新Stellaris ARM Cortex-M4F微控制器可提供领先的模拟集成、业界一流的低功耗及浮点性能[J];电子设计工程;2011年20期
9 秦瑞杰,李文全,林君;一种新颖的瞬时浮点放大器[J];航空计测技术;1997年04期
10 范继聪;洪琪;;单双精度浮点加法的可重构设计研究[J];计算机工程与设计;2013年11期
中国重要会议论文全文数据库 前8条
1 邰强强;倪晓强;张民选;;基于浮点融合乘加部件的前导零预测与检测方法研究[A];第十六届计算机工程与工艺年会暨第二届微处理器技术论坛论文集[C];2012年
2 闵银皮;倪晓强;邢座程;;多线程向量浮点部件的验证方法[A];第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(A辑)[C];2011年
3 陈博文;郭琦;沈海华;;浮点乘加部件的自动化形式验证[A];第六届中国测试学术会议论文集[C];2010年
4 王宏燕;邢座程;邓让钰;;MB64-1浮点部件的设计[A];第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(A辑)[C];2011年
5 谢启华;倪晓强;李少青;刘荣华;张民选;;高性能浮点融合乘加部件中加法/前导零预测器的流水设计[A];第十六届计算机工程与工艺年会暨第二届微处理器技术论坛论文集[C];2012年
6 王碧文;彭元喜;杨惠;吴铁彬;;一种FA的设计与验证[A];第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(A辑)[C];2011年
7 李振虎;倪晓强;李少青;谢启华;张民选;;浮点融合乘加部件中108位加法器的设计[A];第十六届计算机工程与工艺年会暨第二届微处理器技术论坛论文集[C];2012年
8 段军棋;蒋丹;;FFT处理器优化设计[A];现代通信理论与信号处理进展——2003年通信理论与信号处理年会论文集[C];2003年
中国重要报纸全文数据库 前10条
1 本报记者  宋家雨;变一周为十三个小时[N];网络世界;2006年
2 广西 姑苏飘雪;“呼唤”渲染世界真色彩[N];电脑报;2004年
3 斯诺;PC按谁的规则玩[N];中国经营报;2001年
4 ;有望促生亿亿次超级计算机[N];网络世界;2010年
5 中国计算机报测试实验室 王炳晨;1GHz CPU为谁而来?[N];中国计算机报;2001年
6 ;CPU选购新概念[N];中国电脑教育报;2002年
7 本报记者 李胜永;AMD真四核技术加速电力信息化[N];中国电力报;2007年
8 马文方;CPU与GPU:谁将主导下一次计算革命?[N];中国计算机报;2008年
9 本报记者 霍光;AMD推土机架构揭密[N];中国计算机报;2011年
10 ;安腾2处理器技术特征分析[N];中国计算机报;2003年
中国博士学位论文全文数据库 前2条
1 陈立前;基于区间线性抽象域的可靠浮点及非凸静态分析[D];国防科学技术大学;2010年
2 姜浩;高精度可靠浮点计算及舍入误差分析研究[D];国防科学技术大学;2013年
中国硕士学位论文全文数据库 前10条
1 仇冀宏;高性能浮点单元的分析与设计[D];合肥工业大学;2007年
2 潘宏亮;浮点指数类超越函数的运算算法研究与硬件实现[D];西北工业大学;2006年
3 全俊斌;基于浮点格式的数字混沌系统周期研究[D];中南大学;2010年
4 李振;浮点加减法的模拟验证[D];西北工业大学;2006年
5 段滢;双精度浮点运算单元的设计[D];华南理工大学;2012年
6 沈俊;浮点运算加速器的设计研究[D];浙江大学;2013年
7 霍权;高性能浮点乘法单元的设计[D];哈尔滨工业大学;2009年
8 韩山秀;浮点三角类超越函数的算法研究及硬件实现[D];西北工业大学;2006年
9 侯申;浮点乘加部件流水站中关键模块的全定制设计[D];国防科学技术大学;2008年
10 张西峰;高性能浮点DSP教学实验平台的研究与实现[D];北京交通大学;2010年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026