林麗紅
關(guān)鍵詞: JAVA; 軟件故障; 自動(dòng)檢測(cè); 特征提取; 數(shù)據(jù)融合濾波技術(shù); 故障特征挖掘
中圖分類(lèi)號(hào): TN02?34; TP311 ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2019)01?0183?04
Abstract: The software fault automatic detection system based on JAVA is put forward to improve the fault automatic detection ability of software, and perform the optimization design of the software automatic fault detection system. The system is composed of software fault data acquisition module, fault information fusion module, feature extraction module, information integration processing module and fault expert system diagnosis module. The integrated development of fault detection system is carried out in DSP and PLC. The data fusion filtering technology is used to perform the multi?sensor acquisition for the software fault information. The adaptive power amplification is adopted to enhance the acquired fault information, which can improve the diagnostic ability of fault class attribute. The fault feature is mined in fault information fusion, and the correlation characteristic quantity reflecting the software fault category is extracted. The fault identification and intelligent diagnosis are executed in expert system. The modular development and design of the software fault automatic detection system are performed with JAVA development tool. The test results show that the designed software fault detection system has superior fault diagnosis ability, and high fault detection accuracy rate.
Keywords: JAVA; software fault; automatic detection; feature extraction; data fusion filtering technology; fault feature mining
隨著軟件技術(shù)的快速發(fā)展,大量的智能軟件出現(xiàn),并有效解決了智能信息處理和算法實(shí)現(xiàn)問(wèn)題,軟件在人們的生活和工作中發(fā)揮著智能程序處理和面向?qū)ο笮缘膽?yīng)用設(shè)計(jì)功能。然而在軟件運(yùn)行和設(shè)計(jì)過(guò)程中,由于大量的兼容性程序以及BUG的存在,使得軟件可能出現(xiàn)故障,故需要對(duì)軟件的故障進(jìn)行有效的檢測(cè)和智能診斷設(shè)計(jì),提高軟件的穩(wěn)定運(yùn)行能力。研究軟件的故障自動(dòng)檢測(cè)方法在軟件設(shè)計(jì)和軟件的程序診斷和可靠性研究中具有很好的應(yīng)用價(jià)值[1]。
對(duì)軟件的故障自動(dòng)檢測(cè)是建立在軟件的故障大數(shù)據(jù)的模型構(gòu)建和軟件故障特征提取的基礎(chǔ)上,結(jié)合軟件的層次式開(kāi)發(fā)技術(shù)進(jìn)行軟件故障診斷檢測(cè)。傳統(tǒng)方法中,對(duì)軟件故障的檢測(cè)方法主要有自相關(guān)信息融合統(tǒng)計(jì)分析方法、匹配檢測(cè)方法、軟件運(yùn)行狀態(tài)的譜特征分析方法等[2?4],根據(jù)提取軟件運(yùn)行狀態(tài)的特征信息,結(jié)合關(guān)聯(lián)匹配分析方法進(jìn)行軟件故障檢測(cè),提高軟件的智能故障分析和診斷能力,取得了一定的檢測(cè)效果。但上述在進(jìn)行軟件的故障檢測(cè)中容易受到故障特征的分布式耦合性因素的影響,導(dǎo)致軟件故障檢測(cè)存在虛警和漏報(bào),檢測(cè)的準(zhǔn)確性不高,抗干擾能力不強(qiáng)[5]。針對(duì)上述問(wèn)題,本文提出基于JAVA的軟件故障自動(dòng)檢測(cè)系統(tǒng),采用數(shù)據(jù)融合濾波技術(shù)進(jìn)行軟件故障信息的多傳感器采集,在故障信息融合中進(jìn)行故障特征挖掘,提取反映軟件故障類(lèi)別的關(guān)聯(lián)特征量,實(shí)現(xiàn)軟件故障檢測(cè),最后進(jìn)行仿真測(cè)試,展示了本文方法進(jìn)行軟件故障檢測(cè)中的優(yōu)越性能。
首先分析軟件故障自動(dòng)檢測(cè)系統(tǒng)總體設(shè)計(jì)并進(jìn)行功能模塊分析和介紹,軟件故障自動(dòng)檢測(cè)系統(tǒng)建立在通用計(jì)算機(jī)平臺(tái)上,故障自動(dòng)檢測(cè)系統(tǒng)可以在不同的操作系統(tǒng)上進(jìn)行軟件故障自動(dòng)檢測(cè)。構(gòu)建故障檢測(cè)系統(tǒng)的模型數(shù)據(jù)庫(kù),采用模糊指向性分析方法進(jìn)行軟件故障自動(dòng)檢測(cè)的屬性分類(lèi)識(shí)別,提高故障檢測(cè)的人工智能性,軟件故障檢測(cè)系統(tǒng)采用C/S計(jì)算模型體系[6],采用實(shí)時(shí)傳輸協(xié)議RTP(Real Time Protocol)進(jìn)行軟件故障檢測(cè)的實(shí)時(shí)信息傳輸控制。采用分組轉(zhuǎn)發(fā)控制方法進(jìn)行軟件故障診斷中的VoIP協(xié)議設(shè)計(jì),提高軟件故障診斷的自適應(yīng)控制能力。系統(tǒng)由軟件故障數(shù)據(jù)采集模塊、故障信息融合模塊、特征提取模塊、信息集成處理模塊和故障專(zhuān)家系統(tǒng)診斷模塊組成。軟件故障檢測(cè)系統(tǒng)的功能模塊構(gòu)成如圖1所示。
根據(jù)圖1所示的軟件故障檢測(cè)系統(tǒng)的功能模塊設(shè)計(jì),建立關(guān)聯(lián)規(guī)則知識(shí)庫(kù),結(jié)合故障特征分析方法進(jìn)行軟件規(guī)則的信息交互和特征提取,采用S3C2440微處理器作為軟件故障檢測(cè)系統(tǒng)的核心處理器,結(jié)合LOCAL時(shí)鐘總線(xiàn)控制方法進(jìn)行數(shù)據(jù)交互和故障信息的關(guān)聯(lián)特征分析。本文設(shè)計(jì)的軟件故障檢測(cè)系統(tǒng)采用JAVA作為底層軟件設(shè)計(jì),結(jié)合程序驅(qū)動(dòng)配置和分布式計(jì)算處理方法進(jìn)行軟件的驅(qū)動(dòng)設(shè)計(jì),采用BS構(gòu)架和APP混合開(kāi)發(fā)方式進(jìn)行軟件故障自動(dòng)檢測(cè)系統(tǒng)優(yōu)化設(shè)計(jì)[7]。
采用MySQL構(gòu)建軟件故障自動(dòng)檢測(cè)數(shù)據(jù)庫(kù),在B/S結(jié)構(gòu)體系下進(jìn)行軟件故障自動(dòng)檢測(cè)系統(tǒng)的程序驅(qū)動(dòng)設(shè)計(jì)和交叉編譯控制。軟件故障自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)中,軟件開(kāi)發(fā)是核心,主要包括平臺(tái)的數(shù)據(jù)庫(kù)開(kāi)發(fā)、軟件故障自動(dòng)檢測(cè)的數(shù)據(jù)處理模塊開(kāi)發(fā)、網(wǎng)絡(luò)通信模塊開(kāi)發(fā)和輸出接口的交互設(shè)計(jì)開(kāi)發(fā),基于嵌入式JAVA構(gòu)架進(jìn)行軟件故障自動(dòng)檢測(cè)的底層算法設(shè)計(jì),采用JAVA程序驅(qū)動(dòng)程序進(jìn)行軟件故障檢查的交叉編譯和服務(wù)器接口設(shè)計(jì)。采用VXI總線(xiàn)技術(shù)進(jìn)行軟件故障信息數(shù)據(jù)采集,在故障檢測(cè)系統(tǒng)的網(wǎng)絡(luò)體系和數(shù)據(jù)庫(kù)體系結(jié)構(gòu)設(shè)計(jì)中,建立一個(gè)publish分支管理器進(jìn)行故障檢測(cè)的總線(xiàn)開(kāi)發(fā),在APP混合開(kāi)發(fā)環(huán)境中,進(jìn)行本地客戶(hù)端(Client)界面設(shè)計(jì)[8],提高故障檢測(cè)的信息交互能力和界面兼容性,根據(jù)上述總體設(shè)計(jì)描述,得到本文設(shè)計(jì)的軟件故障自動(dòng)檢測(cè)系統(tǒng)的總體結(jié)構(gòu)構(gòu)架如圖2所示。
在進(jìn)行了軟件故障檢測(cè)系統(tǒng)的總體設(shè)計(jì)和原理分析的基礎(chǔ)上,進(jìn)行故障檢測(cè)系統(tǒng)的模塊化設(shè)計(jì),本文提出基于JAVA的軟件故障自動(dòng)檢測(cè)系統(tǒng)開(kāi)發(fā)技術(shù),在DSP和邏輯PLC中進(jìn)行故障檢測(cè)系統(tǒng)的集成開(kāi)發(fā)。本文設(shè)計(jì)的軟件故障自動(dòng)檢測(cè)系統(tǒng)的交叉編譯控制程序采用B/S架構(gòu)設(shè)計(jì),采用數(shù)據(jù)融合濾波技術(shù)進(jìn)行軟件故障信息的多傳感器采集,以MySQL為數(shù)據(jù)庫(kù),進(jìn)行軟件故障檢測(cè)過(guò)程中的進(jìn)程管理、內(nèi)存管理和文件系統(tǒng)管理。結(jié)合參考數(shù)據(jù)庫(kù)模型進(jìn)行程序調(diào)度,在IEEE 488.2標(biāo)準(zhǔn)協(xié)議下進(jìn)行軟件故障檢測(cè)的上位機(jī)通信設(shè)計(jì),采用VXI總線(xiàn)技術(shù)進(jìn)行軟件故障信息數(shù)據(jù)采集,在故障檢測(cè)系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)模型中,通過(guò)MVVM框架建立程序驅(qū)動(dòng)模塊,采用多線(xiàn)程尋址和業(yè)務(wù)邏輯控制方法[9]實(shí)現(xiàn)軟件故障自動(dòng)編譯和嵌入式Linux內(nèi)核控制,根據(jù)上述設(shè)計(jì)模型,得到軟件故障檢測(cè)系統(tǒng)的交叉編譯配置的結(jié)構(gòu)模型如圖3所示。
在JAVA開(kāi)發(fā)工具下進(jìn)行軟件故障自動(dòng)檢測(cè)系統(tǒng)的模塊化開(kāi)發(fā)設(shè)計(jì)。主要對(duì)軟件故障數(shù)據(jù)采集模塊、故障信息融合模塊、特征提取模塊、信息集成處理模塊和故障專(zhuān)家系統(tǒng)診斷模塊進(jìn)行設(shè)計(jì)。
軟件故障數(shù)據(jù)采集模塊是整個(gè)故障檢測(cè)系統(tǒng)的底層模塊,采用JAVA為底層設(shè)計(jì)語(yǔ)言進(jìn)行軟件故障的原始數(shù)據(jù)采集[10?12]。在軟件故障自動(dòng)檢測(cè)系統(tǒng)的存儲(chǔ)空間內(nèi),對(duì)信息檢索的采樣時(shí)間間隔為[Δw],將[W]劃分為[n+1]個(gè)故障數(shù)據(jù)采集窗口,即[{w0,w1,w2,…,wn},n=WΔw],對(duì)故障數(shù)據(jù)采集的編碼調(diào)制序列為16 Kb/s,24 Kb/s,在UML環(huán)境下進(jìn)行軟件故障自動(dòng)檢測(cè)特征分析。
2) 故障信息融合模塊采用BFCP(Binary Floor Control Protocol)協(xié)議設(shè)計(jì)[13],采用ast_sip_config類(lèi)函數(shù)實(shí)現(xiàn)對(duì)軟件故障的信息融合和屬性特征提取。對(duì)采集的故障采用自適應(yīng)功率放大進(jìn)行信息增強(qiáng)處理,提高故障的類(lèi)別屬性診斷能力。
特征提取模塊通過(guò)ast_sip_realtime類(lèi)函數(shù)從軟件故障數(shù)據(jù)庫(kù)中提取故障特征量,在故障信息融合中進(jìn)行故障特征挖掘,提取反映軟件故障類(lèi)別的關(guān)聯(lián)特征量,建立一個(gè)關(guān)聯(lián)會(huì)話(huà)實(shí)現(xiàn)軟件故障類(lèi)別判定[14]。
在專(zhuān)家系統(tǒng)進(jìn)行故障識(shí)別和智能診斷,專(zhuān)家系統(tǒng)采用SIP_INVITES狀態(tài)跟蹤識(shí)別方法實(shí)現(xiàn)軟件故障的診斷[15],通過(guò)指向T.38 UDPTL會(huì)話(huà)的指針進(jìn)行故障類(lèi)別判定。
綜上分析,實(shí)現(xiàn)對(duì)軟件故障自動(dòng)檢測(cè)系統(tǒng)的軟件優(yōu)化設(shè)計(jì),實(shí)現(xiàn)流程圖如圖4所示。
為了測(cè)試本文設(shè)計(jì)的軟件故障檢測(cè)系統(tǒng)的應(yīng)用性能,進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)中軟件的檢測(cè)算法開(kāi)發(fā)采用Matlab設(shè)計(jì),故障檢測(cè)系統(tǒng)的底層語(yǔ)言采用JAVA開(kāi)發(fā)工具設(shè)計(jì),在嵌入式ARM和Linux內(nèi)核環(huán)境下進(jìn)行軟件故障自動(dòng)檢測(cè)系統(tǒng)的模塊化開(kāi)發(fā)設(shè)計(jì),對(duì)軟件故障原始特征采集的初始化頻率為100 kHz,歸一化頻率為1 024 kHz,對(duì)故障數(shù)據(jù)樣本的采樣大小為2 000,訓(xùn)練集數(shù)據(jù)規(guī)模為100,軟件故障檢測(cè)的迭代步長(zhǎng)為24,仿真時(shí)間為24 s,根據(jù)上述仿真參量設(shè)定,進(jìn)行軟件故障檢測(cè),得到故障特征提取結(jié)果如圖5所示。
根據(jù)故障特征分布實(shí)現(xiàn)軟件故障的自動(dòng)檢測(cè),得到檢測(cè)的準(zhǔn)確率對(duì)比結(jié)果如圖6所示,分析圖6得知,采用本文方法進(jìn)行故障檢測(cè)的準(zhǔn)確率較高。
本文提出基于JAVA的軟件故障自動(dòng)檢測(cè)系統(tǒng),對(duì)系統(tǒng)的軟件故障數(shù)據(jù)采集模塊、故障信息融合模塊、特征提取模塊、信息集成處理模塊和故障專(zhuān)家系統(tǒng)診斷模塊進(jìn)行詳細(xì)設(shè)計(jì)描述,在DSP和邏輯PLC中進(jìn)行故障檢測(cè)系統(tǒng)的集成開(kāi)發(fā)。研究結(jié)果表明,采用該系統(tǒng)進(jìn)行軟件故障診斷的可靠性較高,檢測(cè)準(zhǔn)確率較好。
參考文獻(xiàn)
[1] 劉聰,李穎暉,吳辰,等.基于魯棒自適應(yīng)滑模觀測(cè)器的多故障重構(gòu)[J].控制與決策,2016,31(7):1219?1224.
LIU Cong, LI Yinghui, WU Chen, et al. Design of the robust adaptive sliding mode observer for multiple fault reconstruction [J]. Control and decision, 2016, 31(7): 1219?1224.
[2] 何倩,胡啟偉,王勇,等.基于軟件定義網(wǎng)絡(luò)的反飽和分組云負(fù)載均衡[J].計(jì)算機(jī)應(yīng)用,2016,36(6):1520?1525.
HE Qian, HU Qiwei, WANG Yong, et al. Software defined network based anti?saturated grouping cloud load balance [J]. Journal of computer applications, 2016, 36(6): 1520?1525.
[3] ZHANG Q, ZHU Q Y, ZHANI M F, et al. Dynamic service placement in geographically distributed clouds [J]. IEEE journal on selected areas in communications, 2013, 31(12): 762?772.
[4] 劉邏,郭立紅,肖輝,等.基于參數(shù)動(dòng)態(tài)調(diào)整的動(dòng)態(tài)模糊神經(jīng)網(wǎng)絡(luò)的軟件可靠性增長(zhǎng)模型[J].計(jì)算機(jī)科學(xué),2013,40(2):186?190.
LIU Luo, GUO Lihong, XIAO Hui, et al. Software reliability growth model based on dynamic fuzzy neural network with parameters dynamic adjustment [J]. Computer science, 2013, 40(2): 186?190.
[5] FERCOQ O, RICHT?RIK P. Accelerated, parallel and proximal coordinate descent [J]. SIAM journal on optimization, 2014, 25(4): 1997?2023.
[6] LOW Y, BICKSON D, GONZALEZ J, et al. Distributed GraphLab: a framework for machine learning and data mining in the cloud [J]. Proceedings of the VLDB endowment, 2012, 5(8): 716?727.
[7] 林永峰,陳亮.面向安全性分析的嵌入式軟件測(cè)試方法研究[J].現(xiàn)代電子技術(shù),2016,39(13):80?83.
LIN Yongfeng, CHEN Liang. Research on embedded software testing method for security analysis [J]. Modern electronics technique, 2016, 39(13): 80?83.
[8] 魏祥麟,陳鳴,范建華,等.數(shù)據(jù)中心網(wǎng)絡(luò)的體系結(jié)構(gòu)[J].軟件學(xué)報(bào),2013,24(2):295?316.
WEI X L, CHEN M, FAN J H, et al. Architecture of the data center network [J]. Journal of software, 2013, 24(2): 295?316.
[9] 楊磊磊,陳松燦.最壞分離的聯(lián)合分辨率判別分析[J].軟件學(xué)報(bào),2015,26(6):1386?1394.
YANG Leilei, CHEN Songcan. Worst?separated couple?resolution discriminant analysis [J]. Journal of software, 2015, 26(6): 1386?1394.
[10] LI N, YU Y, ZHOU Z H. Diversity regularized ensemble pruning [C]// Proceedings of 2012 Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Berlin: Springer, 2012: 330?345.
[11] PARVIN H, MIRNABIBABOLI M, ALINEJAD?ROKNY H. Proposing a classifier ensemble framework based on classifier selection and decision tree [J]. Engineering applications of artificial intelligence, 2015, 37: 34?42.
[12] CHANDRASEKHAR R, KAMARAJU M, SAIRAM M V S, et al. PAPR reduction using combination of precoding with Mu?law companding technique for MIMO?OFDM systems [C]// 2015 IEEE International Conference on Communications and Signal Processing. Melmaruvathur, India: IEEE, 2015: 479?483.
[13] 劉聰,李穎暉,劉勇智,等.采用高階終端滑模觀測(cè)器的執(zhí)行器未知故障重構(gòu)[J].西安交通大學(xué)學(xué)報(bào),2015,49(9):135?142.
LIU Cong, LI Yinghui, LIU Yongzhi, et al. Unknown actuator fault reconstruction based on the high order terminal sli?ding mode observer [J]. Journal of Xian Jiaotong University, 2015, 49(9): 135?142.
[14] KHABBAZIBASMENJ A, HASSANIEN A, VOROBYOV S, et al. Efficient transmit beamspace design for search?free based DOA estimation in MIMO radar [J]. IEEE transactions on signal processing, 2014, 62(6): 1490?1500.
[15] SAMMARTINO P F, BAKER C J, GRIFFITHS H D. Frequency diverse MIMO techniques for radar [J]. IEEE transactions on aerospace and electronic systems, 2013, 49(1): 201?222.