胡蕓++胡國(guó)祥++胡世港++熊曾剛
摘 要: 在嵌入式軟件開發(fā)中,代碼缺陷會(huì)導(dǎo)致軟件系統(tǒng)癱瘓。為了實(shí)現(xiàn)對(duì)軟件缺陷的自動(dòng)定位,提出一種基于抽象語(yǔ)法樹解析的嵌入式軟件代碼缺陷定位技術(shù)。采用軟件代碼缺陷信息演化導(dǎo)入模型進(jìn)行嵌入式軟件的缺陷抽象語(yǔ)法樹建模,對(duì)軟件設(shè)計(jì)和程序代碼中的缺陷模式進(jìn)行信息重構(gòu),對(duì)嵌入式軟件的括號(hào)、設(shè)計(jì)、命名等代碼缺陷進(jìn)行語(yǔ)法邏輯探測(cè)與自動(dòng)優(yōu)化,實(shí)現(xiàn)軟件缺陷的自動(dòng)定位。測(cè)試結(jié)果表明,采用該技術(shù)進(jìn)行嵌入式軟件缺陷定位的精度較高,時(shí)間成本較低,提高了軟件的可靠性。
關(guān)鍵詞: 嵌入式軟件; 缺陷; 定位; 代碼; 軟件系統(tǒng)癱瘓
中圖分類號(hào): TN958.98?34; TP311 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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ā)在整個(gè)軟件程序開發(fā)中占據(jù)重要的地位,軟件代碼的缺陷定位很大程度上決定了整個(gè)嵌入式軟件系統(tǒng)的健壯性和可維護(hù)性。在軟件開發(fā)中,由于程序本身的Bug以及開發(fā)人員的經(jīng)驗(yàn)因素,難免會(huì)產(chǎn)生軟件缺陷,通過(guò)軟件缺陷定位降低軟件開發(fā)和維護(hù)成本,對(duì)軟件缺陷的定位涉及到對(duì)軟件編碼和軟件度量等問(wèn)題[1]。
軟件缺陷的度量方法分為內(nèi)部度量和外部度量,內(nèi)部度量是對(duì)軟件內(nèi)部代碼和編碼程序運(yùn)行過(guò)程中軟件產(chǎn)品測(cè)試水平,如軟件規(guī)格說(shuō)明和軟件源代碼等;外部度量是從軟件測(cè)試和軟件運(yùn)行狀況方面進(jìn)行的軟件產(chǎn)品缺陷分析和定位。對(duì)當(dāng)軟件產(chǎn)品的規(guī)格要求給定后,產(chǎn)品的功能價(jià)值得以體現(xiàn),通過(guò)外部度量的價(jià)值從而評(píng)價(jià)出內(nèi)部度量的優(yōu)越性,完成整個(gè)軟件度量評(píng)價(jià)工作。嵌入式軟件的缺陷定位在軟件開發(fā)生命周期中具有非常重要的作用,它不但能使開發(fā)人員了解到項(xiàng)目進(jìn)展的實(shí)際狀況,還能夠正確及時(shí)地對(duì)軟件開發(fā)中的相關(guān)技術(shù)進(jìn)行調(diào)整,避免軟件開發(fā)過(guò)程中存在的問(wèn)題和風(fēng)險(xiǎn)。因此研究軟件缺陷定位技術(shù)具有重要意義,當(dāng)前對(duì)軟件缺陷定位的方法主要有分支語(yǔ)句分析方法、屬性名分析方法以及代碼味道探測(cè)方法等[2],傳統(tǒng)的方法存在缺陷探測(cè)精度不高,定位的靈敏度不好等問(wèn)題。對(duì)此,本文提出一種基于抽象語(yǔ)法樹解析的嵌入式軟件代碼缺陷定位技術(shù),實(shí)現(xiàn)對(duì)代碼缺陷的優(yōu)化定位分析,并通過(guò)實(shí)驗(yàn)得出有效性結(jié)論。
4 結(jié) 語(yǔ)
為了實(shí)現(xiàn)對(duì)軟件缺陷的自動(dòng)定位,本文提出一種基于抽象語(yǔ)法樹解析的嵌入式軟件代碼缺陷定位技術(shù)。采用軟件代碼缺陷信息演化導(dǎo)入模型進(jìn)行嵌入式軟件的缺陷抽象語(yǔ)法樹建模,對(duì)軟件設(shè)計(jì)和程序代碼中的缺陷模式進(jìn)行信息重構(gòu),對(duì)嵌入式軟件的括號(hào)、設(shè)計(jì)、命名等代碼缺陷進(jìn)行語(yǔ)法邏輯探測(cè)與自動(dòng)優(yōu)化,實(shí)現(xiàn)軟件缺陷的自動(dòng)定位。測(cè)試表明,采用該技術(shù)進(jìn)行嵌入式軟件缺陷定位的精度較高,時(shí)間成本較低,提高了軟件的可靠性。
參考文獻(xiàn)
[1] 熊偉,王娟麗.軟件需求定量分析及其映射的模糊層次分析法[J].科技通報(bào),2012,28(8):201?204.
[2] 汪中才,蔡銘.用HOQ技術(shù)的軟件可信性評(píng)估研究[J].計(jì)算機(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] 陳志華,劉曉勇.云計(jì)算下大數(shù)據(jù)非結(jié)構(gòu)的穩(wěn)定性檢索方法[J].現(xiàn)代電子技術(shù),2016,39(6):58?61.
[7] 陳志鋒,李清寶,張平,等.基于聚類分析的內(nèi)核惡意軟件特征選擇[J].電子與信息學(xué)報(bào),2015,37(12):2821?2829.
[8] 林永峰,陳亮.面向安全性分析的嵌入式軟件測(cè)試方法研究[J].現(xiàn)代電子技術(shù),2016,39(13):80?83.endprint