胡蕓++胡國祥++胡世港++熊曾剛
摘 要: 在嵌入式軟件開發(fā)中,代碼缺陷會導致軟件系統(tǒng)癱瘓。為了實現(xiàn)對軟件缺陷的自動定位,提出一種基于抽象語法樹解析的嵌入式軟件代碼缺陷定位技術(shù)。采用軟件代碼缺陷信息演化導入模型進行嵌入式軟件的缺陷抽象語法樹建模,對軟件設(shè)計和程序代碼中的缺陷模式進行信息重構(gòu),對嵌入式軟件的括號、設(shè)計、命名等代碼缺陷進行語法邏輯探測與自動優(yōu)化,實現(xiàn)軟件缺陷的自動定位。測試結(jié)果表明,采用該技術(shù)進行嵌入式軟件缺陷定位的精度較高,時間成本較低,提高了軟件的可靠性。
關(guān)鍵詞: 嵌入式軟件; 缺陷; 定位; 代碼; 軟件系統(tǒng)癱瘓
中圖分類號: TN958.98?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2017)18?0079?04
Realization of automatic positioning technology for embedded software defects
HU Yun1, HU Guoxiang2, HU Shigang3, XIONG Zenggang4
(1. Pingdingshan Industrial College of Technology, Pingdingshan 467000, China; 2. Yili Vocational and Technical College, Yining 835000, China;
3. Hubei Polytechnic Institute, Xiaogan 432000, China; 4. Hubei Engineering University, Xiaogan 432000, China)
Abstract: In the development of the embedded software, code defects will lead to paralysis of the software system. In order to realize the automatic positioning of software defects, a kind of embedded software code defect positioning technology based on the analysis of the abstract syntax tree is put forward. The evolution import model of the software code defect information is adopted for abstract syntax tree modeling of the embedded software defect to achieve information reconstruction of the defect mode in software design and program code. The code defects of d brackets, design and naming in the embedded software are detected in syntax logic and optimized automatically to realize automatic positioning of software defects precision. The test results show that the technology for the embedded soft defect localization can implement high accuracy and low time cost, and improve the reliability of the embedded software.
Keywords: embedded software; defect; location; code; softeware system paralysis
0 引 言
嵌入式軟件的代碼開發(fā)在整個軟件程序開發(fā)中占據(jù)重要的地位,軟件代碼的缺陷定位很大程度上決定了整個嵌入式軟件系統(tǒng)的健壯性和可維護性。在軟件開發(fā)中,由于程序本身的Bug以及開發(fā)人員的經(jīng)驗因素,難免會產(chǎn)生軟件缺陷,通過軟件缺陷定位降低軟件開發(fā)和維護成本,對軟件缺陷的定位涉及到對軟件編碼和軟件度量等問題[1]。
軟件缺陷的度量方法分為內(nèi)部度量和外部度量,內(nèi)部度量是對軟件內(nèi)部代碼和編碼程序運行過程中軟件產(chǎn)品測試水平,如軟件規(guī)格說明和軟件源代碼等;外部度量是從軟件測試和軟件運行狀況方面進行的軟件產(chǎn)品缺陷分析和定位。對當軟件產(chǎn)品的規(guī)格要求給定后,產(chǎn)品的功能價值得以體現(xiàn),通過外部度量的價值從而評價出內(nèi)部度量的優(yōu)越性,完成整個軟件度量評價工作。嵌入式軟件的缺陷定位在軟件開發(fā)生命周期中具有非常重要的作用,它不但能使開發(fā)人員了解到項目進展的實際狀況,還能夠正確及時地對軟件開發(fā)中的相關(guān)技術(shù)進行調(diào)整,避免軟件開發(fā)過程中存在的問題和風險。因此研究軟件缺陷定位技術(shù)具有重要意義,當前對軟件缺陷定位的方法主要有分支語句分析方法、屬性名分析方法以及代碼味道探測方法等[2],傳統(tǒng)的方法存在缺陷探測精度不高,定位的靈敏度不好等問題。對此,本文提出一種基于抽象語法樹解析的嵌入式軟件代碼缺陷定位技術(shù),實現(xiàn)對代碼缺陷的優(yōu)化定位分析,并通過實驗得出有效性結(jié)論。
4 結(jié) 語
為了實現(xiàn)對軟件缺陷的自動定位,本文提出一種基于抽象語法樹解析的嵌入式軟件代碼缺陷定位技術(shù)。采用軟件代碼缺陷信息演化導入模型進行嵌入式軟件的缺陷抽象語法樹建模,對軟件設(shè)計和程序代碼中的缺陷模式進行信息重構(gòu),對嵌入式軟件的括號、設(shè)計、命名等代碼缺陷進行語法邏輯探測與自動優(yōu)化,實現(xiàn)軟件缺陷的自動定位。測試表明,采用該技術(shù)進行嵌入式軟件缺陷定位的精度較高,時間成本較低,提高了軟件的可靠性。
參考文獻
[1] 熊偉,王娟麗.軟件需求定量分析及其映射的模糊層次分析法[J].科技通報,2012,28(8):201?204.
[2] 汪中才,蔡銘.用HOQ技術(shù)的軟件可信性評估研究[J].計算機應(yīng)用研究,2012,28(8):150?152.
[3] ZHENG Guo, WANG Bing, CUI Jun. Generic prediction assisted single?copy routing in underwater delay tolerant sensor networks [J]. Ad hoc networks, 2013, 11(3): 1136?1149.
[4] LIU Hui, NIU Zhendong, MA Zhiyi, et al. Identification of generalization refactoring opportunities [J]. Automated software engineering, 2013, 20(1): 81?110.
[5] ZHANG Min, HALL T, BADDOO N. Code bad smells: a review of current knowledge [J]. Journal of software maintenance and evolution: research and practice, 2011, 23(3): 179?202.
[6] 陳志華,劉曉勇.云計算下大數(shù)據(jù)非結(jié)構(gòu)的穩(wěn)定性檢索方法[J].現(xiàn)代電子技術(shù),2016,39(6):58?61.
[7] 陳志鋒,李清寶,張平,等.基于聚類分析的內(nèi)核惡意軟件特征選擇[J].電子與信息學報,2015,37(12):2821?2829.
[8] 林永峰,陳亮.面向安全性分析的嵌入式軟件測試方法研究[J].現(xiàn)代電子技術(shù),2016,39(13):80?83.endprint