• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      大型嵌入式軟件設計中的缺陷定位技術研究

      2017-09-07 08:22:35王力群繆興華
      現(xiàn)代電子技術 2017年16期
      關鍵詞:軟件設計

      王力群 繆興華

      摘 要: 傳統(tǒng)方法檢測軟件設計中的整型符號轉換缺陷時,只能檢測到缺陷的“征兆”,無法檢測到缺陷的根源,無法準確定位整型符號轉換缺陷形成的位置。因此,提出基于動態(tài)方法的嵌入式軟件設計中缺陷定位技術。其構建在二進制插樁框架Valgrind上,采用種類推導方法檢測整型變量的符號種類信息,通過種類推導方法辨識整型變量的符號種類信息,獲取內存相關庫函數(shù)為沖突種類參數(shù)的集合,將其作為潛在整型符號變換缺陷候選集。通過動態(tài)插樁技術檢測候選集,準確檢測整型符號轉換缺陷代碼的位置。實驗結果表明,所提方法準確檢測出了整型符號轉換缺陷,性能較高。

      關鍵詞: 大型嵌入式軟件; 軟件設計; 整型符號轉換; 缺陷定位

      中圖分類號: TN926?34; TP311.52 文獻標識碼: A 文章編號: 1004?373X(2017)16?0083?03

      Abstract: The integer notation for detecting the transformation defect in the design of the traditional software detection method can only detect the "symptoms" of the defect, but can't detect the root cause of the defect, so it is unable to pinpoint the position formed in the process of the integer notation transformation defect. Therefore, the defect positioning technology in the embedded software design based on dynamic method is put forward. It is constructed on the binary pile framework Valgrind to detect symbol type information of integer variables by the sort derivation method. The species derivation method is used to identify the symbolic sort information of the integer variables, and obtain the conflict species parameter set in memory related library function, which will be taken as a potential candidate set of integer notation transformation defect. The dynamic pile technique can accurately detect the position of integer notation transformation defect code by detecting the candidate set. The experimental results indicate that the proposed method can accurately detect the integer notation transformation defects.

      Keywords: large embedded software; software design; integer notation transformation; defect positioning

      如今的大型軟件開發(fā)中存在復雜性和抽象性缺陷,受到嵌入式系統(tǒng)時間以及空間資源有限的干擾,導致檢測大型嵌入式軟件缺陷的難度不斷提升。而軟件設計中的整型符號轉換缺陷較多,該種缺陷的隱蔽性強,同其他缺陷融合,會形成內存缺陷,對程序造成嚴重損害[1]。傳統(tǒng)方法檢測該種缺陷時,只能檢測到缺陷的“征兆”,無法檢測到缺陷的根源。因此,尋求有效的方法,檢測大型嵌入式軟件設計中的整型缺陷,具有較高的應用價值。

      1 動態(tài)方法嵌入式軟件設計中的缺陷定位技術

      1.1 整型符號轉換缺陷

      本文方法檢測整型符合轉換缺陷過程中,應先截獲內存相關庫函數(shù),檢測整型參數(shù)的符號種類。定義需要截獲的內存相關庫函數(shù)和潛在函數(shù),如表1所示。

      表1 潛在函數(shù)列表

      1.2 總體設計

      本文方法在二進制級別上對符號轉換錯誤產生的緩沖區(qū)溢出缺陷實施檢測。檢測整型符號轉換缺陷時,應先獲取程序變量的符號種類信息[2?3],再采集引發(fā)符號沖突的指令地址,對缺陷形成的位置實時定位[4]。設計的缺陷檢測系統(tǒng)構建在二進制插樁框架Valgrind上,將整型符號檢測轉換缺陷的檢測方法應用到原型工具Sconveheck的實現(xiàn)中。系統(tǒng)總體架構如圖1所示。

      圖1中描述的系統(tǒng)包括Valgrind內核部分和原型工具Sconvcheck,Valgrind內核可同底層參照系統(tǒng)完成交互。Sconvcheck提供的功能能夠完成符號轉換缺陷的檢測和定位。

      總體系統(tǒng)的運行流程是:將二進制代碼變換成中間描述形式(VEX,IR),為分析指令的隱藏信息提供依據[5];在中間代碼層面中,檢測各條中間代碼指令,采集變量存儲單元中涵蓋的符號種類信息;收集內存相關函數(shù)定義,得到少數(shù)參數(shù)的符號種類信息,對這些映射關系實施初始化設置;采用數(shù)據流分析各變量的符號種類信息,存儲變量符號信息。后續(xù)得到新種類符號時,將其同前期獲取的符號種類進行對比[6],如果不一致,則說明是沖突種類,存儲當前指令;通過種類推導方法檢索潛在符號缺陷候選集,依據存儲的符號種類信息對整型符號變換缺陷代碼實時定位。endprint

      原型工具Sconvcheck的運行流程由信息采集、檢測方案和缺陷定位三部分組成,其中的符號種類信息采集流程,如圖2所示。

      1.3 檢測方案

      基于圖2描述的符號種類信息采集過程,能夠獲取包含沖突種類的單元存儲單元集。將其當成潛在的符號變換缺陷候選集。還應采用檢測方案對整型符號變換缺陷進行進一步辨識。符號轉換缺陷同內存緩沖區(qū)溢出相關,內存相關庫函數(shù)的參數(shù)如果是沖突種類,則說明出現(xiàn)了符號轉換缺陷。整型符號轉換缺陷的檢測方案的流程如圖3所示。

      從圖3可以看出,檢測方案得到內存相關庫函數(shù)的調用后,便得到描述內存分配長度的全部參數(shù)存儲單元。采用映射表檢索相關的符號種類信息:如果是沖突種類,則在符號前插入檢測代碼,在程序運行過程中檢測傳遞的實參是否是負數(shù);如果不是沖突種類,則結束檢測;否則,呈現(xiàn)運行過程中將負數(shù)反饋給沖突種類參數(shù)的現(xiàn)象判定成實際的符號變換缺陷。

      1.4 缺陷定位

      采集符號種類信息時既要采集變量的符號種類信息,也要在存在沖突種類信息時將當前指令地址信息存儲下來。若變量被辨識成沖突種類,則用當前操作指令地址替換前期記錄的地址信息,依據新指令地址信息對缺陷代碼實施定位。檢測方案檢測到整型符號轉換缺陷時,采集變量信息,并對映射表進行檢測,將獲取的指令地址信息當成產生缺陷的指令地址?;谠撝噶畹刂沸畔⒛軌颢@取整型符號轉換缺陷代碼位置信息。上述描述的整型符號變換缺陷定位流程圖,如圖4所示。

      2 實驗分析

      實驗采用本文方法對E?mail服務器thrownmial7.7.2實施檢測,結果如表2所示。能夠看出本文方法有效檢測出了thrownmial7.7.2的中的緩沖區(qū)溢出以及整型符號轉換缺陷,并對檢測出的缺陷給出警告。

      表2 本文方法的缺陷檢測結果

      實驗選擇三種待測程序,使它們分別運行在正常狀態(tài)下、Buffcheck以及本文方法中的工具Valgrind下,檢測不同程序的運行效率,分析不同狀態(tài)下的程序運行性能,結果如表3所示。

      分析表3可得,待測程序在本文方法下的運行速率比正常運行下和其他狀態(tài)下高,說明本文方法在提高程序運行效率方面具有較強的優(yōu)越性和較高的性能。

      3 結 論

      本文提出了基于動態(tài)方法的嵌入式軟件設計中的缺陷定位技術,其采用面向二進制程序整型符號變換缺陷檢測方法,對整型符號變換引起的緩沖區(qū)溢出缺陷進行準確定位。結果表明,所提方法準確檢測出了整型符號轉換缺陷,性能較高。

      參考文獻

      [1] 林永峰,陳亮.面向安全性分析的嵌入式軟件測試方法研究[J].現(xiàn)代電子技術,2016,39(13):80?83.

      [2] 蔡紅梅.嵌入式船舶人員落水搜救控制系統(tǒng)的設計與研究[J].艦船科學技術,2015,37(11):155?159.

      [3] 張琴.基于瞳孔定位技術的視覺跟蹤系統(tǒng)的研究[J].微型機與應用,2016,35(4):54?56.

      [4] 常佩佩,趙逢禹.基于代碼結構信息的軟件缺陷定位方法研究[J].計算機應用研究,2016,33(8):2371?2374.

      [5] 王贊,樊向宇,鄒雨果,等.一種基于遺傳算法的多缺陷定位方法[J].軟件學報,2016,27(4):879?900.

      [6] 付佩儒,謝鵬.嵌入式軟件中斷數(shù)據競爭安全性檢測技術研究[J].航天控制,2015,33(3):79?82.endprint

      猜你喜歡
      軟件設計
      CAN總線通信技術在電梯監(jiān)控系統(tǒng)中的應用
      基于單片機SPCE061A的字幕機點陣式字母電子顯示屏的設計制作
      商情(2016年42期)2016-12-23 16:56:26
      電力參數(shù)監(jiān)測系統(tǒng)研究
      基于STC單片機的廚房智能安全管控系統(tǒng)的設計
      基于STM8S903K3的序列打螺絲夾具的軟件設計
      基于Java串口通訊的檢測系統(tǒng)程序設計
      JCI標準下發(fā)送調配部軟件設計及應用
      一種VHDL語言代碼重用的方法
      科技視界(2016年20期)2016-09-29 13:33:02
      系統(tǒng)工程方法在計算機軟件設計中的應用分析
      基于Java語言的手機軟件開發(fā)技術分析
      牡丹江市| 嘉荫县| 朝阳市| 卢龙县| 石门县| 屯留县| 漯河市| 广东省| 大同市| 天祝| 石嘴山市| 樟树市| 义乌市| 灌云县| 如东县| 红安县| 邵武市| 太谷县| 邹城市| 巢湖市| 卢龙县| 神池县| 汕尾市| 宁远县| 蓝山县| 紫金县| 新疆| 庆安县| 哈尔滨市| 门源| 孟州市| 土默特左旗| 巨鹿县| 塘沽区| 清流县| 肇源县| 迁安市| 桂阳县| 洱源县| 若尔盖县| 镇江市|