计算机工程与科学
計算機工程與科學
계산궤공정여과학
COMPUTER ENGINEERING & SCIENCE
2011年
3期
94-102
,共9页
侯苏宁%陈立前%王昭飞%王戟
侯囌寧%陳立前%王昭飛%王戟
후소저%진립전%왕소비%왕극
静态分析%抽象解释%值范围分析%数值抽象域%数组抽象
靜態分析%抽象解釋%值範圍分析%數值抽象域%數組抽象
정태분석%추상해석%치범위분석%수치추상역%수조추상
程序的正确性验证一直以来都是计算机科学中的一个挑战性问题,抽象解释理论为程序静态分析提供了一个通用框架,可以在编译时自动地推导程序的动态性质.基于抽象解释的数值程序分析可以自动推导程序中数值变量间的不变式关系,这对于编译优化、程序错误检查至关重要.本文建立并实现了一个面向C和Fortran程序并支持过程间分析的数值程序分析框架和工具,C或Fortran源程序经过预处理后转化为具有统一格式的中间表示形式,然后基于该中间表示抽取与源程序语义等价的语义等式,最后在该语义等式上进行不动点迭代计算从而得到程序不变式.在此基础上,本文还对数组等复杂语法结构进行了建模和抽象.实验结果表明,该工具具有较高的可扩展性、精度,并能够处理大部分因数组的使用而带来的程序分析上的问题.
程序的正確性驗證一直以來都是計算機科學中的一箇挑戰性問題,抽象解釋理論為程序靜態分析提供瞭一箇通用框架,可以在編譯時自動地推導程序的動態性質.基于抽象解釋的數值程序分析可以自動推導程序中數值變量間的不變式關繫,這對于編譯優化、程序錯誤檢查至關重要.本文建立併實現瞭一箇麵嚮C和Fortran程序併支持過程間分析的數值程序分析框架和工具,C或Fortran源程序經過預處理後轉化為具有統一格式的中間錶示形式,然後基于該中間錶示抽取與源程序語義等價的語義等式,最後在該語義等式上進行不動點迭代計算從而得到程序不變式.在此基礎上,本文還對數組等複雜語法結構進行瞭建模和抽象.實驗結果錶明,該工具具有較高的可擴展性、精度,併能夠處理大部分因數組的使用而帶來的程序分析上的問題.
정서적정학성험증일직이래도시계산궤과학중적일개도전성문제,추상해석이론위정서정태분석제공료일개통용광가,가이재편역시자동지추도정서적동태성질.기우추상해석적수치정서분석가이자동추도정서중수치변량간적불변식관계,저대우편역우화、정서착오검사지관중요.본문건립병실현료일개면향C화Fortran정서병지지과정간분석적수치정서분석광가화공구,C혹Fortran원정서경과예처리후전화위구유통일격식적중간표시형식,연후기우해중간표시추취여원정서어의등개적어의등식,최후재해어의등식상진행불동점질대계산종이득도정서불변식.재차기출상,본문환대수조등복잡어법결구진행료건모화추상.실험결과표명,해공구구유교고적가확전성、정도,병능구처리대부분인수조적사용이대래적정서분석상적문제.