CN104750613A - 一类有界闭连通域上的循环程序终止性判断方法 - Google Patents
一类有界闭连通域上的循环程序终止性判断方法 Download PDFInfo
- Publication number
- CN104750613A CN104750613A CN201510181105.6A CN201510181105A CN104750613A CN 104750613 A CN104750613 A CN 104750613A CN 201510181105 A CN201510181105 A CN 201510181105A CN 104750613 A CN104750613 A CN 104750613A
- Authority
- CN
- China
- Prior art keywords
- program
- bounded
- loop
- connected domain
- reduction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000013507 mapping Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 241000208140 Acer Species 0.000 description 1
- 206010068052 Mosaicism Diseases 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一类有界闭连通域上的循环程序终止性判断方法,属于计算机技术领域。该方法包含以下步骤:1)遍历程序,查找程序中的循环程序,提取出有界闭连通域上的循环程序;2)依次判断步骤一所述的有界闭连通域上的程序循环问题是否满足可归约为有无不动点的等效问题,如果不满足则无法判断程序循环是否终止;3)依次判断步骤二所述的可归约的循环程序的不动点是否在有界闭连通域上,如果全都不在,那么该循环程序是可终止的,否则为不可终止的。该方法将这类循环的终止性判定问题归约为有无不动点的判定问题,能准确的判断出该类循环的终止性问题。
Description
技术领域
本发明属于计算机技术领域,涉及一类有界闭连通域上的循环程序终止性判断方法。
背景技术
随着信息技术的迅猛发展,嵌入式***在人类生活中发挥着越来越重的作用,而嵌入式程序***运行中的可达性、终止性、不变式尤为重要,而程序的终止性分析是确保程序完全正确性的必要基础。技术人员在编写程序过程中总是希望能判断出程序是否终止,虽然一般的程序的终止性问题早已被证明是不可判定的,但是特殊的某些类程序还是可以分析出其终止性的,这也表明了对程序中终止性的研究是很有理论意义和实际应用意义的。当前,国际上主要通过合成秩函数来进行循环终止性分析,但其目前主要用来分析线性循环程序,而且秩函数的存在是循环可终止的充分而非必要条件,人们很容易构造一个循环程序,是可终止的,但是没有秩函数。
近来,计算机代数和实代数理论也逐渐被应用于程序自动验证,针对一些非线性循环程序进行了终止性判定。本发明针对赋值映射F为线性或者非线性,循环条件形成有界闭连通域S的一类循环程序提出了终止性问题分析方法,该方法被证明能准确的分析出该类循环的终止性问题。
发明内容
有鉴于此,本发明的目的在于提供一类有界闭连通域上的循环程序终止性判断方法,该方法能够准确的分析出有界闭连通域S的一类循环程序的终止性问题。
为达到上述目的,本发明提供如下技术方案:
一类有界闭连通域上的循环程序终止性判断方法,包括以下步骤:
步骤一:遍历程序,查找程序中的循环程序,提取出有界闭连通域上的循环程序;
步骤二:依次判断步骤一中所述的有界闭连通域上的程序循环问题是否满足可归约为有无不动点的等效问题,如果不满足则无法判断程序循环是否终止;
步骤三:依次判断步骤二中所述的可归约的循环程序的不动点是否在有界闭连通域上,如果全都不在,那么该循环程序是可终止的,否则为不可终止的;
步骤一中的一类有界闭连通域上的循环程序表述为:S是n维空间中的有界闭的连通域,对给定n维连续映射F:X|→F(X),循环程序形式为:while X∈S do{X=F(X)}endwhile;
步骤二中的判断有界闭连通域上的程序循环问题可归约为有无不动点的等效问题必须满足两个条件:
1)存在正整数N,满足多项式理想IN=IN+1,使得理想零点集
2)存在和正数h,对于任意的且k≠j,都存在任意X∈S,使得||Fj(X)|2-|X|2|≥h·||Fk(X)|2-|X|2|。
进一步,在步骤二中,判断有界闭连通域上的程序循环问题可归约为有无不动点的等效问题的条件1)的具体过程为:
1.1)根据n维连续映射F:X|→F(X),
从i=1,2,3...逐个构建理想Ii=<|F(X)|2-|X|2,|F2(X)|2-|X|2,…,|Fi(X)|2-|X|2>,直到判定到理想Ii=Ii∪<|Fi+1(X)|2-|X|2>=Ii+1时,此时N=i,已证明该过程是必然有限终止的,其中,
1.2)计算理想IN的约化Groebner基GN,判断对任意的i=1,2,...,n是否均有fi-xi∈GN,其中,F(X)-X=(f1-x1,...,fn-xn),如果是,则理想零点集否则不满足条件1)。
本发明的有益效果在于:本发明运用计算机代数中的Groebner基理论,针对有界闭连通域上的一类循环程序的终止性问题,提出了一类有界闭连通域上的循环程序终止性判断方法,该方法将这类循环的终止性判定问题归约为有无不动点的判定问题,能准确的判断出该类循环的终止性问题。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明所述方法的流程示意图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
图1为本发明所述方法的流程示意图,如图所示,本方法包括以下步骤:步骤一:遍历程序,查找程序中的循环程序,提取出有界闭连通域上的循环程序;步骤二:依次判断步骤一所述的有界闭连通域上的程序循环问题是否满足可归约为有无不动点的等效问题,如果不满足则无法判断程序循环是否终止;步骤三:依次判断步骤二所述的可归约的循环程序的不动点是否在有界闭连通域上,如果全都不在,那么该循环程序是可终止的,否则为不可终止的。
下面将结合附图1,对本发明的优选实施例进行详细的描述。
以如下循环程序为例:
While x2+y2≤1and x≥0and y≥0do
x=2x2-3xy+1
y=xy+7x+5
End while
针对上述循环程序终止性进行判断,该方法具体包括以下步骤:
步骤一、遍历程序,查找程序中的循环程序,提取出有界闭连通域上的循环程序,具体为:该实施案例程序为二维连续非线性映射F=(f1,f2)=(2x2-3xy+1,xy+7x+5)T,判断得出S为有界闭连通域,符合本发明针对的循环范围。
步骤二、依次判断步骤一所述的有界闭连通域上的程序循环问题是否满足可归约为有无不动点的等效问题,如果不满足则无法判断程序循环是否终止,具体为:根据步骤一所得的非线性映射,从i=1,2,3...逐个构建理想,判断到i=3时,理想I3=I3∪<|F4(X)|2-|X|2=I4,因而,得到正整数N=3,以及理想I3=<|F(X)|2-|X|2,|F2(X)|2-|X|2,|F3(X)|2-|X|2,>;由于计算Groebner基技术已经比较成熟,我们可以通过现有的计算机软件工具包,如Maple,可以计算I3的Groebner基G3=(3y2-2+24x-17y,xy+5+7x-y,2x2+16+20x-3y),然后,根据理想成员判定算法得知:
f1-x=0·(3y2-2+24x-17y)+(-3)·(xy+5+7x-y)+1·(2x2+16+20x-3y),
f2-y=0·(3y2-2+24x-17y)+1·(xy+5+7x-y)+0·(2x2+16+20x-3y)。
因而f1-x∈G3,f2-y∈G3,符合有界闭连通域上的程序循环问题可归约为有无不动点的等效问题的条件(1)。进一步调用计算机软件BOTTEMA可以算出,当h=10-20时,有||F(X)|2-|X|2|≥h·||F2(X)|2-|X|2且||F(X)|2-|X|2|≥h·||F3(X)|2-|X|2|,从而满足有界闭连通域上的程序循环问题可归约为有无不动点的等效问题的条件(2)。综上所述,本发明可以判断出该循环的是否可终止。
步骤三、依次判断步骤二所述的可归约的循环程序的不动点是否在有界闭连通域上,由于迭代映射F的不动点都不在S中,可以得到该循环程序是可终止的。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (2)
1.一类有界闭连通域上的循环程序终止性判断方法,其特征在于:包括以下步骤:
步骤一:遍历程序,查找程序中的循环程序,提取出有界闭连通域上的循环程序;
步骤二:依次判断步骤一中所述的有界闭连通域上的程序循环问题是否满足可归约为有无不动点的等效问题,如果不满足则无法判断程序循环是否终止;
步骤三:依次判断步骤二中所述的可归约的循环程序的不动点是否在有界闭连通域上,如果全都不在,那么该循环程序是可终止的,否则为不可终止的;
步骤一中的一类有界闭连通域上的循环程序表述为:S是n维空间中的有界闭的连通域,对给定n维连续映射F:X|→F(X),循环程序形式为:while X∈S do{X=F(X)}endwhile;
步骤二中的判断有界闭连通域上的程序循环问题可归约为有无不动点的等效问题必须满足两个条件:
1)存在正整数N,满足多项式理想IN=IN+1,使得理想零点集
2)存在和正数h,对于任意的且k≠j,都存在任意X∈S,使得||Fj(X)|2-|X|2|≥h·||Fk(X)|2-|X|2|。
2.根据权利要求1所述的一类有界闭连通域上的循环程序终止性判断方法,其特征在于:在步骤二中,判断有界闭连通域上的程序循环问题可归约为有无不动点的等效问题的条件1)的具体过程为:
1.1)根据n维连续映射F:X|→F(X),
从i=1,2,3...逐个构建理想Ii=<|F(X)|2-|X|2,|F2(X)|2-|X|2,…,|Fi(X)|2-|X|2>,直到判定到理想Ii=Ii∪<|Fi+1(X)|2-|X|2>=Ii+1时,此时N=i,已证明该过程是必然有限终止的;
1.2)计算理想IN的约化Groebner基GN,判断对任意的i=1,2,...,n是否均有fi-xi∈GN,其中,F(X)-X=(f1-x1,...,fn-xn),如果是,则理想零点集否则不满足条件1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510181105.6A CN104750613B (zh) | 2015-04-16 | 2015-04-16 | 一类有界闭连通域上的循环程序终止性判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510181105.6A CN104750613B (zh) | 2015-04-16 | 2015-04-16 | 一类有界闭连通域上的循环程序终止性判断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104750613A true CN104750613A (zh) | 2015-07-01 |
CN104750613B CN104750613B (zh) | 2017-07-18 |
Family
ID=53590345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510181105.6A Expired - Fee Related CN104750613B (zh) | 2015-04-16 | 2015-04-16 | 一类有界闭连通域上的循环程序终止性判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104750613B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901993A (zh) * | 2019-01-11 | 2019-06-18 | 中国科学院重庆绿色智能技术研究院 | 一种单路径线性约束的循环程序终止性判断方法 |
CN112698891A (zh) * | 2021-02-04 | 2021-04-23 | 中国科学院重庆绿色智能技术研究院 | 基于界函数合成的循环程序终止性判断方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184613A1 (en) * | 2001-01-24 | 2002-12-05 | Kuzemchak Edward P. | Method and tool for verification of algorithms ported from one instruction set architecture to another |
CN102929781A (zh) * | 2012-11-12 | 2013-02-13 | 桂林电子科技大学 | 基于上下文定界的队列通信并发递归程序验证方法 |
CN103488571A (zh) * | 2013-10-12 | 2014-01-01 | 浙江大学城市学院 | 一种混合验证JavaScript程序正确性的方法 |
-
2015
- 2015-04-16 CN CN201510181105.6A patent/CN104750613B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184613A1 (en) * | 2001-01-24 | 2002-12-05 | Kuzemchak Edward P. | Method and tool for verification of algorithms ported from one instruction set architecture to another |
CN102929781A (zh) * | 2012-11-12 | 2013-02-13 | 桂林电子科技大学 | 基于上下文定界的队列通信并发递归程序验证方法 |
CN103488571A (zh) * | 2013-10-12 | 2014-01-01 | 浙江大学城市学院 | 一种混合验证JavaScript程序正确性的方法 |
Non-Patent Citations (4)
Title |
---|
BABIC D ET AL: "Proving Termination of Nonlinear Command Sequences", 《FORMAL ASPECTS OF COMPUTING》 * |
BRADLEY A ET AL: "Termination of Polynomial Programs", 《LECTURE NOTES IN COMPUTER SCIENCE》 * |
李玲娜 等: "有界闭区间并上的非线性循环程序的终止性验证", 《计算机应用与软件》 * |
李轶 等: "有界闭域上的线性赋值循环终止性分析", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901993A (zh) * | 2019-01-11 | 2019-06-18 | 中国科学院重庆绿色智能技术研究院 | 一种单路径线性约束的循环程序终止性判断方法 |
CN109901993B (zh) * | 2019-01-11 | 2022-01-28 | 中国科学院重庆绿色智能技术研究院 | 一种单路径线性约束的循环程序终止性判断方法 |
CN112698891A (zh) * | 2021-02-04 | 2021-04-23 | 中国科学院重庆绿色智能技术研究院 | 基于界函数合成的循环程序终止性判断方法 |
CN112698891B (zh) * | 2021-02-04 | 2023-10-31 | 中国科学院重庆绿色智能技术研究院 | 基于界函数合成的循环程序终止性判断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104750613B (zh) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wandji | Energy consumption and economic growth: Evidence from Cameroon | |
Cui et al. | Short‐term city electric load forecasting with considering temperature effects: An improved ARIMAX model | |
TW201944338A (zh) | 保險欺詐識別的資料處理方法、裝置、設備及伺服器 | |
CN102541920A (zh) | 联合基于用户和项目的协同过滤提高准确度的方法及装置 | |
CN104954185A (zh) | 一种基于深度置信网的云计算负载预测方法 | |
CN110263874A (zh) | 一种基于注意力关系图学习的图像分类方法及装置 | |
CN102708294A (zh) | 基于半监督局部线性回归的自适应参数软测量方法 | |
CN103530812A (zh) | 一种基于局部敏感哈希的电网状态相似度量化分析方法 | |
CN103679484A (zh) | 基于行为Petri网的电子商务一致性分析新方法 | |
Leonenko et al. | A computational approach to investigate patterns of acute respiratory illness dynamics in the regions with distinct seasonal climate transitions | |
CN104750613A (zh) | 一类有界闭连通域上的循环程序终止性判断方法 | |
CN202870852U (zh) | 基于云计算的人脸识别*** | |
CN112215398A (zh) | 电力用户负荷预测模型建立方法、装置、设备及存储介质 | |
Zhou et al. | Structural health monitoring of the Jiangyin Bridge: system upgrade and data analysis | |
CN107247776A (zh) | 一种用于聚类分析中相似度识别的方法 | |
WO2021068249A1 (zh) | 运行时硬件模拟仿真方法、装置、设备及存储介质 | |
CN113139490B (zh) | 一种图像特征匹配方法、装置、计算机设备及存储介质 | |
Mistler | A SAS macro for computing pooled likelihood ratio tests with multiply imputed data | |
CN104636318A (zh) | 一种大数据方差标准差的分布式或增量计算方法 | |
CN103745079A (zh) | 一种基于抽象凸估计的曲线拟合方法 | |
JP2014512711A5 (zh) | ||
CN103631953A (zh) | 基于误差内排查的大型数据分析方法及其终端 | |
CN103455689B (zh) | 基于泰勒级数展开的区间模型修正方法 | |
CN104268386B (zh) | 一种将测试性虚拟试验数据转换为实物试验数据的方法 | |
CN108073619A (zh) | 一种基于图数据结构的数据映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170718 |