程式插樁

程式插樁,最早是由J.C. Huang 教授提出的,它是在保證被測程式原有邏輯完整性的基礎上在程式中插入一些探針(又稱為“探測儀”,本質上就是進行信息採集的代碼段,可以是賦值語句或採集覆蓋信息的函式調用),通過探針的執行並拋出程式運行的特徵數據,通過對這些數據的分析,可以獲得程式的控制流和數據流信息,進而得到邏輯覆蓋等動態信息,從而實現測試目的的方法。

分類

由於程式插樁技術是在被測程式中插入探針,然後通過探針的執行來獲得程式的控制流和數據流信息,以此來實現測試的目的。因此,根據探針插入的時間可以分為目標代碼插樁和原始碼插樁。

目標代碼

目標代碼插樁的前提是對目標代碼進行必要的分析以確定需要插樁的地點和內容。由於目標代碼的格式主要和作業系統相關,和具體的程式語言及版本無關,所以得到了廣泛的套用,尤其是在需要對記憶體進行監控的軟體中。但是由於目標代碼中語法、語義信息不完整,而插樁技術需要對代碼詞法語法的分析有較高的要求,故在覆蓋測試工具中多採用原始碼插樁。

原始碼

原始碼插樁是在對源檔案進行完整的詞法分析和語法分析的基礎上進行的,這就保證對源檔案的插樁能夠達到很高的準確度和針對性。但是原始碼插樁需要接觸到原始碼,使得工作量較大,而且隨著編碼語言和版本的不同需要做一定的修改。在後面我們所提到的程式插樁均指原始碼插樁。

相關詞條

相關搜尋

熱門詞條

聯絡我們