林麗紅



關鍵詞: JAVA; 軟件故障; 自動檢測; 特征提取; 數(shù)據(jù)融合濾波技術; 故障特征挖掘
中圖分類號: TN02?34; TP311 ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號: 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
隨著軟件技術的快速發(fā)展,大量的智能軟件出現(xiàn),并有效解決了智能信息處理和算法實現(xiàn)問題,軟件在人們的生活和工作中發(fā)揮著智能程序處理和面向對象性的應用設計功能。然而在軟件運行和設計過程中,由于大量的兼容性程序以及BUG的存在,使得軟件可能出現(xiàn)故障,故需要對軟件的故障進行有效的檢測和智能診斷設計,提高軟件的穩(wěn)定運行能力。研究軟件的故障自動檢測方法在軟件設計和軟件的程序診斷和可靠性研究中具有很好的應用價值[1]。
對軟件的故障自動檢測是建立在軟件的故障大數(shù)據(jù)的模型構建和軟件故障特征提取的基礎上,結合軟件的層次式開發(fā)技術進行軟件故障診斷檢測。傳統(tǒng)方法中,對軟件故障的檢測方法主要有自相關信息融合統(tǒng)計分析方法、匹配檢測方法、軟件運行狀態(tài)的譜特征分析方法等[2?4],根據(jù)提取軟件運行狀態(tài)的特征信息,結合關聯(lián)匹配分析方法進行軟件故障檢測,提高軟件的智能故障分析和診斷能力,取得了一定的檢測效果。但上述在進行軟件的故障檢測中容易受到故障特征的分布式耦合性因素的影響,導致軟件故障檢測存在虛警和漏報,檢測的準確性不高,抗干擾能力不強[5]。針對上述問題,本文提出基于JAVA的軟件故障自動檢測系統(tǒng),采用數(shù)據(jù)融合濾波技術進行軟件故障信息的多傳感器采集,在故障信息融合中進行故障特征挖掘,提取反映軟件故障類別的關聯(lián)特征量,實現(xiàn)軟件故障檢測,最后進行仿真測試,展示了本文方法進行軟件故障檢測中的優(yōu)越性能。
首先分析軟件故障自動檢測系統(tǒng)總體設計并進行功能模塊分析和介紹,軟件故障自動檢測系統(tǒng)建立在通用計算機平臺上,故障自動檢測系統(tǒng)可以在不同的操作系統(tǒng)上進行軟件故障自動檢測。構建故障檢測系統(tǒng)的模型數(shù)據(jù)庫,采用模糊指向性分析方法進行軟件故障自動檢測的屬性分類識別,提高故障檢測的人工智能性,軟件故障檢測系統(tǒng)采用C/S計算模型體系[6],采用實時傳輸協(xié)議RTP(Real Time Protocol)進行軟件故障檢測的實時信息傳輸控制。采用分組轉發(fā)控制方法進行軟件故障診斷中的VoIP協(xié)議設計,提高軟件故障診斷的自適應控制能力。系統(tǒng)由軟件故障數(shù)據(jù)采集模塊、故障信息融合模塊、特征提取模塊、信息集成處理模塊和故障專家系統(tǒng)診斷模塊組成。軟件故障檢測系統(tǒng)的功能模塊構成如圖1所示。

根據(jù)圖1所示的軟件故障檢測系統(tǒng)的功能模塊設計,建立關聯(lián)規(guī)則知識庫,結合故障特征分析方法進行軟件規(guī)則的信息交互和特征提取,采用S3C2440微處理器作為軟件故障檢測系統(tǒng)的核心處理器,結合LOCAL時鐘總線控制方法進行數(shù)據(jù)交互和故障信息的關聯(lián)特征分析。本文設計的軟件故障檢測系統(tǒng)采用JAVA作為底層軟件設計,結合程序驅動配置和分布式計算處理方法進行軟件的驅動設計,采用BS構架和APP混合開發(fā)方式進行軟件故障自動檢測系統(tǒng)優(yōu)化設計[7]。
采用MySQL構建軟件故障自動檢測數(shù)據(jù)庫,在B/S結構體系下進行軟件故障自動檢測系統(tǒng)的程序驅動設計和交叉編譯控制。軟件故障自動檢測系統(tǒng)設計中,軟件開發(fā)是核心,主要包括平臺的數(shù)據(jù)庫開發(fā)、軟件故障自動檢測的數(shù)據(jù)處理模塊開發(fā)、網(wǎng)絡通信模塊開發(fā)和輸出接口的交互設計開發(fā),基于嵌入式JAVA構架進行軟件故障自動檢測的底層算法設計,采用JAVA程序驅動程序進行軟件故障檢查的交叉編譯和服務器接口設計。采用VXI總線技術進行軟件故障信息數(shù)據(jù)采集,在故障檢測系統(tǒng)的網(wǎng)絡體系和數(shù)據(jù)庫體系結構設計中,建立一個publish分支管理器進行故障檢測的總線開發(fā),在APP混合開發(fā)環(huán)境中,進行本地客戶端(Client)界面設計[8],提高故障檢測的信息交互能力和界面兼容性,根據(jù)上述總體設計描述,得到本文設計的軟件故障自動檢測系統(tǒng)的總體結構構架如圖2所示。

在進行了軟件故障檢測系統(tǒng)的總體設計和原理分析的基礎上,進行故障檢測系統(tǒng)的模塊化設計,本文提出基于JAVA的軟件故障自動檢測系統(tǒng)開發(fā)技術,在DSP和邏輯PLC中進行故障檢測系統(tǒng)的集成開發(fā)。本文設計的軟件故障自動檢測系統(tǒng)的交叉編譯控制程序采用B/S架構設計,采用數(shù)據(jù)融合濾波技術進行軟件故障信息的多傳感器采集,以MySQL為數(shù)據(jù)庫,進行軟件故障檢測過程中的進程管理、內(nèi)存管理和文件系統(tǒng)管理。結合參考數(shù)據(jù)庫模型進行程序調度,在IEEE 488.2標準協(xié)議下進行軟件故障檢測的上位機通信設計,采用VXI總線技術進行軟件故障信息數(shù)據(jù)采集,在故障檢測系統(tǒng)的網(wǎng)絡體系結構模型中,通過MVVM框架建立程序驅動模塊,采用多線程尋址和業(yè)務邏輯控制方法[9]實現(xiàn)軟件故障自動編譯和嵌入式Linux內(nèi)核控制,根據(jù)上述設計模型,得到軟件故障檢測系統(tǒng)的交叉編譯配置的結構模型如圖3所示。

在JAVA開發(fā)工具下進行軟件故障自動檢測系統(tǒng)的模塊化開發(fā)設計。主要對軟件故障數(shù)據(jù)采集模塊、故障信息融合模塊、特征提取模塊、信息集成處理模塊和故障專家系統(tǒng)診斷模塊進行設計。
軟件故障數(shù)據(jù)采集模塊是整個故障檢測系統(tǒng)的底層模塊,采用JAVA為底層設計語言進行軟件故障的原始數(shù)據(jù)采集[10?12]。在軟件故障自動檢測系統(tǒng)的存儲空間內(nèi),對信息檢索的采樣時間間隔為[Δw],將[W]劃分為[n+1]個故障數(shù)據(jù)采集窗口,即[{w0,w1,w2,…,wn},n=WΔw],對故障數(shù)據(jù)采集的編碼調制序列為16 Kb/s,24 Kb/s,在UML環(huán)境下進行軟件故障自動檢測特征分析。
2) 故障信息融合模塊采用BFCP(Binary Floor Control Protocol)協(xié)議設計[13],采用ast_sip_config類函數(shù)實現(xiàn)對軟件故障的信息融合和屬性特征提取。對采集的故障采用自適應功率放大進行信息增強處理,提高故障的類別屬性診斷能力。
特征提取模塊通過ast_sip_realtime類函數(shù)從軟件故障數(shù)據(jù)庫中提取故障特征量,在故障信息融合中進行故障特征挖掘,提取反映軟件故障類別的關聯(lián)特征量,建立一個關聯(lián)會話實現(xiàn)軟件故障類別判定[14]。
在專家系統(tǒng)進行故障識別和智能診斷,專家系統(tǒng)采用SIP_INVITES狀態(tài)跟蹤識別方法實現(xiàn)軟件故障的診斷[15],通過指向T.38 UDPTL會話的指針進行故障類別判定。
綜上分析,實現(xiàn)對軟件故障自動檢測系統(tǒng)的軟件優(yōu)化設計,實現(xiàn)流程圖如圖4所示。
為了測試本文設計的軟件故障檢測系統(tǒng)的應用性能,進行仿真實驗。實驗中軟件的檢測算法開發(fā)采用Matlab設計,故障檢測系統(tǒng)的底層語言采用JAVA開發(fā)工具設計,在嵌入式ARM和Linux內(nèi)核環(huán)境下進行軟件故障自動檢測系統(tǒng)的模塊化開發(fā)設計,對軟件故障原始特征采集的初始化頻率為100 kHz,歸一化頻率為1 024 kHz,對故障數(shù)據(jù)樣本的采樣大小為2 000,訓練集數(shù)據(jù)規(guī)模為100,軟件故障檢測的迭代步長為24,仿真時間為24 s,根據(jù)上述仿真參量設定,進行軟件故障檢測,得到故障特征提取結果如圖5所示。

根據(jù)故障特征分布實現(xiàn)軟件故障的自動檢測,得到檢測的準確率對比結果如圖6所示,分析圖6得知,采用本文方法進行故障檢測的準確率較高。
本文提出基于JAVA的軟件故障自動檢測系統(tǒng),對系統(tǒng)的軟件故障數(shù)據(jù)采集模塊、故障信息融合模塊、特征提取模塊、信息集成處理模塊和故障專家系統(tǒng)診斷模塊進行詳細設計描述,在DSP和邏輯PLC中進行故障檢測系統(tǒng)的集成開發(fā)。研究結果表明,采用該系統(tǒng)進行軟件故障診斷的可靠性較高,檢測準確率較好。

參考文獻
[1] 劉聰,李穎暉,吳辰,等.基于魯棒自適應滑模觀測器的多故障重構[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)絡的反飽和分組云負載均衡[J].計算機應用,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ù)動態(tài)調整的動態(tài)模糊神經(jīng)網(wǎng)絡的軟件可靠性增長模型[J].計算機科學,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] 林永峰,陳亮.面向安全性分析的嵌入式軟件測試方法研究[J].現(xiàn)代電子技術,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)絡的體系結構[J].軟件學報,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].軟件學報,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] 劉聰,李穎暉,劉勇智,等.采用高階終端滑模觀測器的執(zhí)行器未知故障重構[J].西安交通大學學報,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.