一种单路径线性约束的循环程序终止性判断方法技术

技术编号:21398737 阅读:36 留言:0更新日期:2019-06-19 06:56
本发明专利技术涉及一种单路径线性约束的循环程序终止性判断方法,包含以下步骤:步骤一、提取出单路径线性约束的循环程序;步骤二、将单路径线性约束的循环程序所转化成的线性不等式系统并求解,无解则该循环程序终止,有解则暂时无法判断其终止性;步骤三、判断线性不等式系统的解中是否存在不动点,存在则该循环程序不终止;如果不存在不动点且状态变量有界,则该循环程序终止,否则无法判断其终止性;步骤四、判断线性不等式系统的解空间的投影是否与循环条件相同,相同则该循环程序不终止,否则无法判断其终止性。该方法通过构造秩函数,采用单量词消去方法,能够在多项式时间内分析出程序的循环终止性,提高了计算效率。

【技术实现步骤摘要】
一种单路径线性约束的循环程序终止性判断方法
本专利技术涉及一种单路径线性约束的循环程序终止性判断方法,属于计算机

技术介绍
随着信息技术的迅猛发展,嵌入式系统在人类生活中发挥着越来越重的作用,而嵌入式程序系统运行中的可达性、终止性、不变式尤为重要,而程序的终止性分析是确保程序完全正确性的必要基础。技术人员在编写程序过程中总是希望能判断出程序是否终止,虽然一般的程序的终止性问题早已被证明是不可判定的,但是特殊的某些类程序还是可以分析出其终止性的,这也表明了对程序中终止性的研究是很有理论意义和实际应用意义的。当前,国际上主要通过合成秩函数来进行循环终止性分析,目前主要用来分析线性循环程序,通常基于G.E.Collins提出的柱形代数分解方法,但其采用混合量词消去方法,这样做会引入更多的变元,计算复杂度高。近来,计算机代数和实代数理论也逐渐被应用于程序自动验证,针对一些线性和非线性循环程序进行了终止性判定。本专利技术针对单路径线性约束的循环程序提出了终止性问题分析方法,该方法被证明能准确的分析出该类循环的终止性问题。
技术实现思路
有鉴于此,本专利技术提供一种单路径线性约束的循环程序本文档来自技高网...

【技术保护点】
1.一种单路径线性约束的循环程序终止性判断方法,其特征在于,该方法包含以下步骤:步骤一、遍历程序,查找程序中的循环程序,提取出单路径线性约束的循环程序;步骤二、依次对步骤一所述的单路径线性约束的循环程序所转化成的线性不等式系统并进行求解,如果无解,则该单路径线性约束的循环程序终止,有解则暂时无法判断其终止性;步骤三、依次判断步骤二所述的有解的线性不等式系统的解中是否存在不动点,如果是,则该单路径线性约束的循环程序不终止;进一步,如果不存在不动点且状态变量有界,则该单路径线性约束的循环程序终止,否则无法判断其终止性;步骤四、依次判断步骤三所述的无法判断的单路径线性约束的循环程序的线性不等式系统的...

【技术特征摘要】
1.一种单路径线性约束的循环程序终止性判断方法,其特征在于,该方法包含以下步骤:步骤一、遍历程序,查找程序中的循环程序,提取出单路径线性约束的循环程序;步骤二、依次对步骤一所述的单路径线性约束的循环程序所转化成的线性不等式系统并进行求解,如果无解,则该单路径线性约束的循环程序终止,有解则暂时无法判断其终止性;步骤三、依次判断步骤二所述的有解的线性不等式系统的解中是否存在不动点,如果是,则该单路径线性约束的循环程序不终止;进一步,如果不存在不动点且状态变量有界,则该单路径线性约束的循环程序终止,否则无法判断其终止性;步骤四、依次判断步骤三所述的无法判断的单路径线性约束的循环程序的线性不等式系统的解空间的投影是否与循环条件相同,如果相同,则该单路径线性约束的循环程序不终止,否则无法判断其终止性。2.根据权利要求1所述的一种单路径线性约束的循环程序终止性判断方法,其特征在于,所述步骤一所述的单路径线性约束的循环程序可以表述为:while{B·x0≤d}do{M1·xk+M2·xk+1≤c}endwhile;其中,分别为有理数矩阵,分别为有理数列向量,n、p、q分别为正整数,和分别对应第k次循环和第k+1次循环的实数列向量状态变量,特别地,k=0为初始时刻,该时刻对应的状态变量x0、x1可直接用来分析程序...

【专利技术属性】
技术研发人员:李轶杨文强冯勇
申请(专利权)人:中国科学院重庆绿色智能技术研究院
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1