一种基于极小不协调集合的r缩减求解方法

文档序号:6585244阅读:242来源:国知局
专利名称:一种基于极小不协调集合的r缩减求解方法
技术领域
本发明涉及一种在命题逻辑的范畴下,基于不协调语句集合的极小不协调子集的
R縮减求解方法。
背景技术
软件测试是保证软件开发质量的不可缺少的重要环节,只有经过严格测试的软件 才能被使用。为此人们研制了大量测试工具来帮助提高软件测试的效率,但到目前为止,测 试样例的设计和对软件错误的定位和修改,仍需大量人力投入,而且测试质量仍与测试人 员的经验紧密相关,软件测试仍被视为一 门"工艺"技术。 R演算系统的提出就是为了解决这一问题。R演算系统是在国际上首次提出的对 逻辑连接词符号和量词符号进行形式化演算的错误定位和修正系统。R演算系统使用一阶 语言作为软件需求说明的描述语言,它是一个关于一阶语言的逻辑连接词符号和量词符号 的形式演算系统。R演算系统构建的基本思路是首先给出一个测试样例结果组成的集合 E,作为对现有软件需求说明S中的语句修正的标准,并且E对S所作的每一次修正都是一 次逻辑推理,而且都是必要的,所以这样的修正对于需求说明S的改动也是极小的,其次由 于修正的方式有多种可能,R演算系统应将所有可能的修正都推导出来。
所以提出一个能求解所有R縮减的方法,在计算机上实现R演算,对于软件的测试 和调试具有重要的意义。

发明内容
本发明要解决的技术问题填补了现有技术的空白,提供一种在命题逻辑的范畴 下,基于不协调语句集合的极小不协调子集的R縮减求解方法。 本发明采用的技术方案一种基于极小不协调集合的R縮减求解方法,其特征在 于步骤如下 (1)获取输入的协调原子语句和原子语句的否定的集合,存于A中,获取输入的
被修正语句集合,存于r中; (2)将r中的所有公式转换为否定范式(NNF),然后再转换为析取范式(DNF),存
入r '中; (3)求解出A U r '的所有极小不协调集合,存于M中;(4)根据M求解出a u r '的所有极小删除集合,存于《中;(5)对于《中的每一个极小删除集合 ',如果它对应的r中的语句集合是 并
且0n蟲-0,那么r- 就是r关于a的R縮减,并将其加入集合!中。
根据本发明的又一个方面,其中步骤(3)又进一步包括 (a)A u r'只包含原子语句和原子语句的否定。枚举出A u r'所有形如
{A, A}的子集{A" , , {Am, AJ ,则
3f = C(A!,鳴》,,,"{A, ~A』;
3
(b) A u r '包含A A B。记s = A u r ' -{A A B}。递归的使用此方法求解
S U {A,B}的所有极小不协调集合,存于jic'中。遍历M"中的所有元素,如果AeM'并且
An(A,B)-0,那么将a加入wl';如果Ae:W并且An(A,B〗承②,那么将(a-{a,
B" U {A A B}加入JIC中; (c) A U r '包含A V B。记S = A U r ' -{A V B}。递归的使用此方法求解
s u "}和s u {B}的所有极小不协调集合,分别存于^k和3fg中。如果AeMAnM"8, 那么将a加入集合^:、遍历"M^和^M^中的所有元素,如果Ai e>C%,a g a丄并且
A2€3fB,BG A2,那么(A「{A}) U (A2-{B}) U {A V B}加入集合JT。遍历買'中的所
有元素,如果A e JC,并且不存在A' e M'使度c A,那么将a加入Jf中; 根据本发明的又一个方面,其中步骤(4)又进一步包括
(a)若集合JC不是空集,则 (i)选取集合M中的第一个极小不协调子集A ; (ii)对于A中的任何一个语句A,
m*a = I r! e 総d a g r!》。 对^f森递归的使用这一方法求出它的所有极小删除集合《^ (iii) k!^ = ^U {(A) U e SA)。对任意{A} U O,如果不存在一个
e《使得0f c {A} u氛那么
s = ^ U ({a} U參); (b)若集合jc是空集,则《=辨》。


图1为本发明的方法基本流程图。
具体实施例方式
下面参考附图,对本发明的实施例进行详细的说明。
首先对本发明的方法原理进行说明。 研究表明,语句集合r关于A的R縮减与A u r的极小不协调子集之间存在 联系,若是能够将a u r的极小不协调子集全部枚举出来,那么语句集合r关于a的所 有R縮减就能够计算出来。而在命题逻辑的范畴内,语句集合a u r的极小不协调子集 是可以全部枚举得到的。这就为计算R縮减提供了一种计算的方法。 具体而言,本发明所提出的方法基本流程如图1所示。 本发明主要包括的核心思想通过枚举A U r的所有极小不协调子集, 一次求出
语句集合r关于a的所有R縮减。 在描述方法前先定义如下变量及方法 1.设A是一个由原子语句或原子语句的否定组成的集合;
2.设r是一个由命题语句组成的集合;
3.设集合r '存放的是将r转换为DNF后得到的语句集合; 4.设集合M存放的是A U r'的极小不协调子集,Jf初始为空集; 5.设集合5存放的是a u r'极小删除子集,j:初始为空集; 6.设集合力存放的是r关于A的R縮减,!初始为空集;
本发明的方法描述如下 1.将r中的所有公式转换为否定范式(NNF),然后再转换为析取范式(DNF),存入
r '中; 2.求解出A U r'的所有极小不协调集合,存于JC中,方法如下 (a)A U r'只包含原子语句和原子语句的否定。枚举出A U r'所有形如
{A, A}的子集{A" , , {Am, AJ ,则 (b) A u r '包含A a B。记s = A u r ' -{A a B}。递归的使用此方法求解
s u {a,b}的所有极小不协调集合,存于:w中。遍历^r中的所有元素,如果Ae3r并且
An(A,B〗=0,那么将a加入jc中;如果Ae^T并且Afi〖A,B〗承0,那么将(a-{a,
b}) u {a ab}加入3c中; (c) A U r '包含A v B。记S = A U r ' -{A v B}。递归的使用此方法求解 S u {A}和S u {B}的所有极小不协调集合,分别存于J4和^Cg中。如果Ag^^riJCB, 那么将A加入集合M、遍历^k和^^中的所有元素,如果Ai GM^,A G A丄并且 A2€3CB,BG八2,那么(A「{A}) U (A2-{B}) U {A v B}加入集合JiT。遍历J^中的所 有元素,如果A € Wi.ll.不就Y €》T使得A' C A,那么将A加入M'I';
3.根据JC求解出A U r'的所有极小删除集合,存于《中,方法如下
(a)若集合M不是空集,则 (i)选取集合M中的第一个极小不协调子集A ; (ii)对于A中的任何一个语句A,
<formula>formula see original document page 5</formula>。 对M^递归的使用这一方法求出它的所有极小删除集合^A; (iii) k!《"U {(A) U € l"A)。对任意{A} U O,如果不存在一个
O'e^使W》'c(A〗u0),那么<formula>formula see original document page 5</formula>
(b)若集合M是空集,则《={0}。4.对于《中的每一个极小删除集合 ',如果它对应的r中的语句集合是 并
且00焱==0,那么r- 就是r关于a的R縮减,并将其加入集合災中。 综上所述,根据上述方法得到的集合:l中的语句集合就是r关于A的所有R縮减。
对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有 更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因 此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下, 可对其作出各种修改。
权利要求
一种基于极小不协调集合的R缩减求解方法,其特征在于步骤如下(1)获取输入的协调原子语句和原子语句的否定的集合,存于Δ中,获取输入的被修正语句集合,存于Γ中;(2)将Γ中的所有公式转换为否定范式(NNF),然后再转换为析取范式(DNF),存入Γ′中;(3)求解出Δ∪Γ′的所有极小不协调集合,存于中;(4)根据求解出Δ∪Γ′的所有极小删除集合,存于中;(5)对于中的每一个极小删除集合θ′,如果它对应的Γ中的语句集合是θ,并且那么Γ-θ就是Γ关于Δ的R缩减,并将其加入集合中。F2009102430376C00011.tif,F2009102430376C00012.tif,F2009102430376C00013.tif,F2009102430376C00014.tif,F2009102430376C00015.tif,F2009102430376C00016.tif
2. 根据权利要求l的基于极小不协调集合的R縮减求解方法,其特征在于所述的步 骤(3)进一步包括(3a)当a u r '只包含原子语句和原子语句的否定时枚举出a u r '所有形如{A, A}的子集{A" , , {Am, AJ ,则(3b)当A u r'包含AAB时记S二A u r' _{AAB}。递归的使用此方法求解 S U {A,B}的所有极小不协调集合,存于》r中;遍历J^^中的所有元素,如果A6^I^并且AfUA,B)",那么将a加入3f中;如果Ae^T并且An《A,B)承0,那么将(a-{a,B}) U {a A B}加入3f'l';(3c)当A U r'包含AVB时记S二A U r' _{AVB}。递归的使用此 方法求解S U {A}和S U {B}的所有极小不协调集合,分别存于 :4和3€哲中;如果A€ Jl^nJIC8,那么将a加入集合JC';遍历Mk和》fg中的所有元素,如果Aig^M^AG A!并且六2 £K*B,BG八2,那么(A「{A}) U (A2-{B}) U {A V B}加入集合:M^遍历M"'中的所有元素,如果A e Jvf"T.II.不碰A' e M,A' c A,那么将a加入jvf中。
3. 根据权利要求l的基于极小不协调集合的R縮减求解方法,其特征在于所述的步骤(4)进一步包括(4a)若集合M不是空集,则(i) 选取集合JC中的第一个极小不协调子集A ;(ii) 对于A中的任何一个语句A,= 0!ir! Gand A ^ rj。对^fA递归的使用这一方法求出它的所有极小删除集合^A;(iii) 对任意的礅€ ^A,遍历集合S,如果存在①'使得^ 〕 (A》U争,那么就将①' 从S中删除J* St I —如果不存在一个争'€ c (A) U O,那么(4b)若集合M是空集,则《={,。
全文摘要
一种基于极小不协调集合的R缩减求解方法(1)将需要被修正的命题语句集合Γ中的所有公式转换为否定范式(NNF),然后再转换为析取范式(DNF);(2)求解(1)中所得范式的所有极小不协调集合;(3)由极小不协调集合求解使Γ协调所需删除的极小语句集合;(4)将极小语句集合从Γ中删除即可得到所有的R缩减。本发明根据极小不协调集合的特性,将所有可能的R缩减一次求出,从而提高了方法的效率。
文档编号G06F11/36GK101719094SQ20091024303
公开日2010年6月2日 申请日期2009年12月22日 优先权日2009年12月22日
发明者刘祥龙, 李未, 李贺, 罗杰, 蒋东辰 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1