亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種程序運行時的監(jiān)測點優(yōu)化部署方法

文檔序號:6548370閱讀:188來源:國知局
一種程序運行時的監(jiān)測點優(yōu)化部署方法
【專利摘要】本發(fā)明涉及一種程序運行時的監(jiān)測點優(yōu)化部署方法,包括:步驟S1:將被監(jiān)測執(zhí)行的程序代碼用層次結(jié)構(gòu)模型表示;步驟S2:讀取模塊信息,設(shè)一個監(jiān)測點部署方案作為初始解;步驟S3:構(gòu)造評價監(jiān)測點的目標(biāo)函數(shù)E(M),并計算初始解的目標(biāo)函數(shù)值并保存:步驟S4:讀取模塊信息、初始解及目標(biāo)函數(shù)值,進行模擬退火算法,得到一個優(yōu)化的監(jiān)測點部署方案。與現(xiàn)有技術(shù)相比,本發(fā)明具有過程簡單靈活、實用性強、效率高等優(yōu)點,解決了程序運行時的監(jiān)測點部署不合理的問題。
【專利說明】一種程序運行時的監(jiān)測點優(yōu)化部署方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種監(jiān)測點部署方法,尤其是涉及一種程序運行時的監(jiān)測點優(yōu)化部署方法。
【背景技術(shù)】
[0002]在程序運行時的驗證中,通常從系統(tǒng)程序需求中產(chǎn)生監(jiān)測器,監(jiān)測器在程序結(jié)構(gòu)設(shè)置的位置為監(jiān)測點,監(jiān)測器通過監(jiān)測程序的執(zhí)行來檢查程序運行過程是否滿足系統(tǒng)程序需求,一方面監(jiān)測器需要在程序運行時檢測到錯誤,另一方面需要及時發(fā)現(xiàn)錯誤,為錯誤修復(fù)提供充足的時間和空間,這些都跟監(jiān)測點的部署方案有著密切關(guān)系,監(jiān)測點的部署方案既需要將程序中的各部分都覆蓋到,又需要考慮監(jiān)測點、監(jiān)測區(qū)域、監(jiān)測時間之間的最優(yōu)權(quán)衡,因此如果合理部署程序中監(jiān)測點的方法也越來越受到技術(shù)人員的重視,并提出了一些主張:
[0003]I)Havelund 等人在 “Synthesizing monitors for safety properties,,一文中提出了一種算法,它讀進一條過去時線性時序邏輯的表達(dá)式然后動態(tài)生成與表達(dá)式對應(yīng)的代碼,這條代碼將在線性時間內(nèi)分析完有限長度的執(zhí)行序列,得出結(jié)果判定序列是否滿足用戶制定的規(guī)約。這算法在文章中被稱為監(jiān)視器合成算法,在PathExplorer項目中有實現(xiàn),這是一個還在開發(fā)中的運行時驗證的工具,該文章還提到將來還會開發(fā)算法來描述其他的邏輯來更好地適用于實時系統(tǒng),或者發(fā)現(xiàn)多線程系統(tǒng)的潛在錯誤。
[0004]2)Bonakdarpour 等人在 “Sampling based runtime verification,,中提出了 “時間觸發(fā)采樣”的運行時驗證,每隔一段長度的時間內(nèi)觸發(fā)采樣動作,這個采樣間隔由設(shè)計者視情況而定。在另一方面該文章將該采樣間隔設(shè)置為所有變量變化的最短的時間間隔,這樣能在一次采樣中能捕捉帶所有相關(guān)變量的變化,從而還原被測系統(tǒng)的狀態(tài)。該文章解決了怎樣在減小空間開銷(變量變化記錄緩沖區(qū))同時,最大化采集間隔的優(yōu)化問題。該文章的優(yōu)化層面立足于已制定好系統(tǒng)規(guī)約,在文章算法討論范圍內(nèi)的變量都是參與LTL規(guī)約計算的變量,從而用相對較少的記錄空間較好地還原系統(tǒng)的狀態(tài)變化。
[0005]3) Stoller 等人在“Runtime verification with state estimation,,一文中基于“時間觸發(fā)采樣”的運行時驗證方案,發(fā)現(xiàn)有時采樣系統(tǒng)執(zhí)行時在狀態(tài)序列中會有事件記錄的損失,對精確地進行運行時驗證提出了一項挑戰(zhàn)。該文使用隱馬爾科夫模型對系統(tǒng)的執(zhí)行模型進行建模,通過Baum-Welch算法從系統(tǒng)執(zhí)行序列的實例調(diào)整隱馬爾科夫模型的相關(guān)參數(shù),如隱狀態(tài)間的變遷概率,從而為估計某一個序列的生成的概率做準(zhǔn)備。該文假設(shè)系統(tǒng)執(zhí)行序列中的損失部分長度為L,然后根據(jù)LTL規(guī)約生成的FSM來估計某一條執(zhí)行序列中的空缺應(yīng)該填上怎樣的事件節(jié)點從而滿足相關(guān)的FSM,然后使用事先訓(xùn)練好的隱馬爾科夫模型來估計所有可能發(fā)生的序列的概率之和。

【發(fā)明內(nèi)容】

[0006]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種可靠性高的程序運行時的監(jiān)測點優(yōu)化部署方法。
[0007]本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
[0008]一種程序運行時的監(jiān)測點優(yōu)化部署方法,包括:
[0009]步驟S1:將被監(jiān)測的程序代碼用層次結(jié)構(gòu)模型表示,即劃分為不同模塊,包括I個頂層模塊M0和多個子模塊m,獲得樹狀結(jié)構(gòu)有向?qū)哟螆D,樹狀結(jié)構(gòu)作為模塊信息進行保存;
[0010]步驟S2:讀取模塊信息,設(shè)一個監(jiān)測點部署方案作為初始解,記錄要固定監(jiān)測的模塊;
[0011]步驟S3:構(gòu)造評價監(jiān)測點的目標(biāo)函數(shù)E(M),并計算初始解的目標(biāo)函數(shù)值并保存:
[0012]E (M) =G (m0) * Σ c (mx) / (1+ Σ r (mx)), mx e M (I)
[0013]其中,!!^是模塊集M中的第X個子模塊,C(mx)是子模塊叫的監(jiān)測開銷,r(mx)是子模塊mx的監(jiān)測冗余度,G (m0) ―1 = P (m0), G (m0)是頂層模塊Hici的監(jiān)測粒度,p (m)表示的是在當(dāng)前觀測策略下模塊m被分成多少部分;
[0014]步驟S4:讀取模塊信息、初始解及目標(biāo)函數(shù)值,進行模擬退火算法,得到一個優(yōu)化的監(jiān)測點部署方案。
[0015]所述的P (m)是指一個程序代碼在監(jiān)測上被劃分的程度,定義如下:1, ci(m)=(XmeO?
【權(quán)利要求】
1.一種程序運行時的監(jiān)測點優(yōu)化部署方法,其特征在于,包括: 步驟S1:將被監(jiān)測的程序代碼用層次結(jié)構(gòu)模型表示,即劃分為不同模塊,包括I個頂層模塊Hitl和多個子模塊m,獲得樹狀結(jié)構(gòu)有向?qū)哟螆D,樹狀結(jié)構(gòu)作為模塊信息進行保存; 步驟S2:讀取模塊信息,設(shè)一個監(jiān)測點部署方案作為初始解,記錄要固定監(jiān)測的模塊; 步驟S3:構(gòu)造評價監(jiān)測點的目標(biāo)函數(shù)E(M),并計算初始解的目標(biāo)函數(shù)值并保存:
E (M) =G (m0) * Σ c (mx) / (1+ Σ r (mx)), mx e M (I) 其中,!!^是模塊集M中的第X個子模塊,c(mx)是子模塊叫的監(jiān)測開銷,r(mx)是子模塊mx的監(jiān)測冗余度,G (m0) ―1 = P (m0), G (m0)是頂層模塊Hici的監(jiān)測粒度,p (m)表示的是在當(dāng)前觀測策略下模塊m被分成多少部分: 步驟S4:讀取模塊信息、初始解及目標(biāo)函數(shù)值,進行模擬退火算法,得到一個優(yōu)化的監(jiān)測點部署方案。
2.根據(jù)權(quán)利要求1所述的一種程序運行時的監(jiān)測點優(yōu)化部署方法,其特征在于,所述的P(m)是指一個程序代碼在監(jiān)測上被劃分的程度,定義如下:1, d{m)=O,meCKn0

3.根據(jù)權(quán)利要求2所述的一種程序運行時的監(jiān)測點優(yōu)化部署方法,其特征在于,所述的監(jiān)測冗余度r(m)是指各級子模塊補充說明上級模塊的程度,定義如下:
4.根據(jù)權(quán)利要求1所述的一種程序運行時的監(jiān)測點優(yōu)化部署方法,其特征在于,所述的步驟S4中模擬退火算法具體步驟為: 401:給定初始溫度Ttl,初始迭代次數(shù)Ici,初始解為第一次迭代的當(dāng)前解,當(dāng)前能量Etl為初始解的目標(biāo)函數(shù)值; 402:對當(dāng)前解中的每一個可以細(xì)化監(jiān)測的模塊計算候選得到當(dāng)前解的鄰域,并記錄在緩沖中; 403:若鄰域不為空,執(zhí)行步驟404,若鄰域為空,則模擬退火算法結(jié)束,輸出當(dāng)前解;404:根據(jù)當(dāng)前解的鄰域中每一個成員方案的監(jiān)測開銷,選擇開銷最小的作為新解; 405:計算新解的監(jiān)測冗余度、監(jiān)測粒度和監(jiān)測開銷,進而計算新解的目標(biāo)函數(shù)值,即新解的能量E1 ;
406:當(dāng) E^E0 或當(dāng) E1 ≥ E0,計算概率 Pr [accept] = exp (- (E1-E0) /T),Pr [accept] <R,R為一個在O到I之間均勻分布的隨機數(shù),則接受新解為當(dāng)前解,即令Etl = E1,調(diào)整固定監(jiān)測模塊集合,刪除鄰域中有關(guān)被細(xì)化監(jiān)測的模塊的相關(guān)選解,當(dāng)前迭代次數(shù)i = i_l,并執(zhí)行步驟408 ; 407:當(dāng)E1≥E0, Pr [accept]≥R,當(dāng)前迭代次數(shù)i = i_l ; 408:若i>0,返回步驟402,若i = 0,令當(dāng)前溫度T = 0.95T,迭代次數(shù)i = i。; 409:若T = 0,則模擬退火算法結(jié)束,輸出當(dāng)前解,若T古0,則返回步驟402。
【文檔編號】G06F11/36GK104035865SQ201410239663
【公開日】2014年9月10日 申請日期:2014年5月30日 優(yōu)先權(quán)日:2014年5月30日
【發(fā)明者】羅怡桂, 劉巖, 顧文迪 申請人:同濟大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1