[發明專利]基于BDD求解功能覆蓋組條件約束語句的方法、設備和介質有效
| 申請號: | 202310920127.4 | 申請日: | 2023-07-26 |
| 公開(公告)號: | CN116663491B | 公開(公告)日: | 2023-10-13 |
| 發明(設計)人: | 陳穎;冀偉安 | 申請(專利權)人: | 北京云樞創新軟件技術有限公司;上海合見工業軟件集團有限公司;成都融見軟件科技有限公司 |
| 主分類號: | G06F30/398 | 分類號: | G06F30/398;G06F111/04;G06F115/10 |
| 代理公司: | 北京鍾維聯合知識產權代理有限公司 11579 | 代理人: | 丁慧玲 |
| 地址: | 100193 北京市海淀區東北旺北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 bdd 求解 功能 覆蓋 條件 約束 語句 方法 設備 介質 | ||
1.一種基于BDD求解功能覆蓋組條件約束語句的方法,其特征在于,包括:
步驟S1、獲取功能覆蓋組中的目標條件約束語句對應的目標變量{A1,A2,…,An,…,AN},An為目標條件約束語句對應的第n個目標變量,n的取值范圍為1到N,目標條件約束語句對應的目標變量總數N≥1;
步驟S2、獲取每一An對應的比特位數Bn,確定比特位總數;
步驟S3、構建M個布爾變量,每一布爾變量對應一個目標變量中的一個比特位,將目標條件約束語句轉換為由M個布爾變量表示的目標布爾函數;
步驟S4、基于所述M個布爾變量和所述目標布爾函數生成目標BDD,所述目標BDD中每一條從根節點到葉子True節點的路徑表示一組滿足目標條件約束語句的變量取值,BDD為二叉決策圖;
步驟S5、遍歷所述目標BDD的每一條從根節點到葉子True節點的路徑,獲取每一路徑對應的三狀態字符串,基于每一路徑對應的三狀態字符串生成目標條件約束語句的目標解。
2.根據權利要求1所述的方法,其特征在于,
所述步驟S4包括:
步驟S41、為每一布爾變量設置一個對應的層級,生成M個布爾變量層級,構建每一層級和目標變量的比特位之間的映射關系;
步驟S42、在M個布爾變量層級底部設置底部層級,底部層級設置葉子True節點;
步驟S43、基于所述目標布爾函數在每一層級設置對應的狀態節點,并沿根節點到葉子True節點的方向構建狀態節點之間的有向連接線,生成X條從根節點到葉子True節點的路徑{D1,D2,…,Dx,…,DX},得到所述目標BDD?,其中,Dx為第x條路徑,x的取值范圍為1到X,有向連接線為實線或虛線。
3.根據權利要求2所述的方法,其特征在于,
所述步驟S5包括:
步驟S51、遍歷每一Dx,若在Dx中不存在第m層級對應的狀態節點,則將第m層級對應的狀態設置為“?”,“?”表示第m層級對應的狀態為0或者1,若存在,則執行步驟S52,m的取值范圍為1到M;
步驟S52、判斷以Dx中以第m層級對應的狀態節點為起點的有向連接線的類型,若為實線,則將第m層級對應的狀態設置為“1”,若為虛線,則將第m層級對應的狀態設置為“0”,基于Dx中所有層級對應的狀態生成Dx對應的三狀態字符串(d1x,d2x,…,dmx,…,dMx),dmx為Dx對應的三狀態字符串中第m層級對應的狀態,dmx等于“0”、“1”或“?”;
步驟S53、基于Dx對應的三狀態字符串以及每一層級和目標變量的比特位之間的映射關系,生成目標條件約束語句的目標解。
4.根據權利要求3所述的方法,其特征在于,
所述步驟S41中,按照隨機的順序為每一布爾變量設置一個對應的層級;
所述步驟S53中,基于每一層級和目標變量的比特位之間的映射關系,確定每一目標變量的每一比特位的值,生成目標條件約束語句的目標解。
5.根據權利要求3所述的方法,其特征在于,
N=1,所述步驟S41中,按照目標變量比特位的排序為每一布爾變量設置一個對應的層級;
步驟S53中,Dx對應的三狀態字符串即為目標條件約束語句的目標解。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京云樞創新軟件技術有限公司;上海合見工業軟件集團有限公司;成都融見軟件科技有限公司,未經北京云樞創新軟件技術有限公司;上海合見工業軟件集團有限公司;成都融見軟件科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310920127.4/1.html,轉載請聲明來源鉆瓜專利網。





