1. 程式人生 > >論文:基於粒子群優化的測試資料生成及其實證分析-----生成過程以及實驗(計算機研究與發展)

論文:基於粒子群優化的測試資料生成及其實證分析-----生成過程以及實驗(計算機研究與發展)

來源:2012年版的計算機研究與發展期刊

基於PSO的測試資料生成

(1) 核心問題:  如何保證PSO搜尋演算法和測試過程的協作執行

 演算法的基本的流程:

(1)對被測程式P進行靜態分析並完成: 1.  提取程式的 介面資訊;2. 依據測試覆蓋準則C對相應的程式結構元素進行 插裝                         處理(??插裝處理??);3.構造出 適應準則C的適應函式。

(2)   將程式的輸入引數編碼表示成 粒子的位置向量,同時,完成初始化(編碼的目的就是將程式中需要的變數數值轉化為粒子群中的位置資訊,然後通過粒子群演算法 完成迭代的 更新)

(3) 按照 粒子群演算法完成位置的迭代更新,然後將其進行解碼,使得其 能夠輕易作為程式的輸入 引數,在程式中給予驗證 優劣。驅動執行被測程式P 並收集對應的覆蓋資訊

(4)    經過粒子群演算法產生新的 位置,然後對位置資訊進行解碼,解碼之後再重新 輸入到程式中,通過輸入 程式中的得到其具體的覆蓋性資訊,作為粒子適應度的一種評測,並記錄最優的 最好的更新gbest 以及pbest

(5) 最後,更新迭代次數並判斷是否符合種群演化的終止條件

 

適應函式的構造

 

        公式(3)中的權重w並不瞎造的。它具體的是和“分支的巢狀深度”以及“謂詞型別” 有關

 

 

 

 評測不同的演算法的指標:

實驗部分:

具體的實驗中各個指標的資料以及相應的圖形。(我覺的實驗部分挺充實的,圖形也好看)