王宿嘉沈 洋
(1.吉林市計量測試技術研究院,吉林 吉林 132000,2.吉林省計量科學研究院,吉林 長春 130000)
計量器具之衡器軟件質量分析和檢測
王宿嘉1沈 洋2
(1.吉林市計量測試技術研究院,吉林 吉林 132000,2.吉林省計量科學研究院,吉林 長春 130000)
目前我國有很多利用計量器具軟件中的BUG,通過人為的方式,讓計量特性檢測合格。甚至通過電子衡器在設計時的漏洞進行違法的計量欺詐。近幾年來,我國在一些主要計量器方面都出現過投訴的案件,其中既包括了使用者追求利益的原因,也有計量器具行業(yè)的發(fā)展和規(guī)范不夠完善,行業(yè)發(fā)展受到多方面制約的因素。因此要對電子衡器軟件進行質量分析和檢測,確定相關的技術,制定電子衡器類的規(guī)范和制度。
計量器具;衡器軟件;質量分析;檢測
計量器具在全球范圍內都受到法律的強制約束和保護,而我國電子衡器作弊的現象屢見不鮮,對消費者的利益造成了嚴重影響。例如電子汽車衡的稱重作弊現象。這些作弊現象除了有人為的因素之外,其根本原因還是計量器具自身設計存在的種種問題,導致出現法律漏洞。因此要加強衡器軟件的質量分析和檢測,完善衡器軟件自身的設計。
1.1 衡器軟件測試需求
首先要對衡器軟件的計量算法和相應的功能進行測試,這是衡器軟件測試最基本的要求。但是,我國的一些非自動衡器軟件中,卻存在著一些有意的漏洞和一些惡意編制的后門程序。這些問題在一般的軟件功能測試中較難體現出來,目前這一現象已經引起了國家相關部門的重視。根據衡器軟件的特點,需要從功能性、可靠性、易用性、效率、可維護性和可移植性六個方面進行測試。但是和其他的軟件測評有一定的區(qū)別,衡器軟件的可靠性、安全性具備一定的特殊性。由于很多衡器軟件中會蓄意加入并隱藏一些“后門程序”,因此我國對此方面安全性和可靠性的要求較高。很多相關的規(guī)定都是為了防止未授權的衡器控制軟件而設立的,如果強行進行非法訪問,則會留下一定的痕跡。根據目前我國的管理措施和檢測技術而言,這種測試需求讓對相應的機構提出了更高的要求。因此,想要規(guī)避檢測和管理風險的衡器軟件測試,必須要對衡器軟件進行檢測和分析。
1.2 衡器軟件文檔分析
衡器軟件的文檔是對軟件進行質量分析的基礎。傳統(tǒng)的對文檔內容進行功能性實驗的方法難以保證軟件的完整性,也無法保證文檔中沒有隱藏的功能。因此在對其進行檢測時必須要對軟件的功能性進行分析,保證軟件的實際功能和文檔具有一致性。
衡器軟件的生產企業(yè)為型式評價提供衡器軟件文檔中有一些人工建立,但是這些人工建立的文檔和源代碼有一定的差距,難以保證一致性。在一致性的測試上,最基本的測試方法是對照文檔。通過的差距。因此除非為了版本保護或移植,以及一些高性能的需要,其他使用匯編語言的情況較少。相比而言,C語言或C++以及相關語言,和其他高級語言相比運行效率較低,可以達到匯編語言運行效率的80%,而其他的程序往往只能達到C語言的80%。源代碼和目標代碼所涉及到的語句規(guī)模往往較大。在計量器具方面,計量特性的限制直接影響到其質量,所以通過C語言編寫的程序往往可以完成預期目標,而其他語言編寫的程序則難以達到。
在對衡器軟件進行檢測過后,如何進行科學合理的評價是另一個重要課題,尤其是目前我國對于計量器具軟件的評價制度還不夠完善。對軟件產品的度量分為靜態(tài)分析和動態(tài)分析。例如在測試覆蓋率的度量上,不同的動態(tài)測試能夠反映出程序在動態(tài)測試時所執(zhí)行的程度,測試中程序的覆蓋率越高,則說明程序中的盲區(qū)越少,程序的質量也就越高,安全性和可靠性也有所保障。目前衡器軟件的問題主要是難以保證其質量,程序中隱藏的一些非法功能難以進行檢測,而且在型式評價時和量產時所使用的軟件版本有所區(qū)別,導致程序質量出現問題。要對程序中可疑的部分進行仔細排查,對衡器計量軟件進行分析,排除后門程序和BUG的可能。和檢測相互配合,對衡器軟件進行嚴格的檢測和評價,解決程序中的后門和BUG問題。除了要對具體內容提出相應的要求規(guī)范外,尤其要在軟件標識、法制分離、數據保護、等重點方面對評價系統(tǒng)進行完善。
我國在衡器軟件的質量分析和檢測方面仍處在發(fā)展階段,還沒有形成相對健全的制度。對于衡器軟件中的惡意后門程序和BUG要加強檢測力度,要加強在測試、文檔和源代碼上的檢查力度,采用科學的檢測工具,為我國計量器具的發(fā)展奠定基礎。
[1]黃松濤.計量器具之衡器軟件質量分析和檢測[D].南京理工大學,2010.
[2]周苑.衡器軟件開發(fā)項目的同步測試管理[J].衡器,2013(07):20-22.相應的文本軟件對源代碼中的每個文件、功能模塊和代碼進行檢查,通過這樣的檢查方式能夠在小規(guī)模的代碼軟件中保證一致性。但是在規(guī)模較大的衡器軟件中,這種檢查方式需要花費大量的時間和人力物力,效率較低。因此,建立一套具有反向工程測評和分析能力的平臺能夠提高測試的效率,保證在規(guī)定的時間內完成檢測任務。此工具軟件的設定必須要以源代碼為基礎,在不需要借助其他資料的前提下自動生成完整的數據文檔,在通過人工的分析核對后,就能夠得知衡器軟件和衡器型式評價文檔是否一致。
某些企業(yè)會對源代碼的安全性產生顧慮。基于此,企業(yè)可以自行開發(fā)和使用新型的軟件工具,通過軟件工具生成企業(yè)可以通過自身進行檢測的數據文檔。衡器企業(yè)在申請型式批準時,要考慮到多個方面。既要根據型式評價的標準用人工的方式對相應的說明文件進行準備,還要根據具備反向工程以及文檔的自動生成能力的軟件工具來產生一系列衡器軟件的數據文檔。通過人工和計算機兩種方式的結合,來保證衡器軟件的復合型和一致性。需要注意的是,企業(yè)在進行工具軟件的使用時,要有相應的政策進行配合,完善管理制度。
1.3 衡器軟件源代碼分析
衡器軟件的源代碼直接決定了衡器軟件的質量,一旦衡器軟件的源代碼中存在后門程序或BUG,而相應的檢測如果沒有發(fā)現其中的漏洞,就會對計量器具軟件的法制管理產生一定的負面影響。在對衡器軟件進行質量檢測時,不能僅靠功能性驗證,也不能只對企業(yè)提交的文檔進行一致性的檢測,這樣在衡器軟件內部的隱藏功能很容易出現漏檢的情況。對衡器軟件的檢測要對整體的結構進行分析,深入了解功能函數的調用關系,對潛在的莫管進行檢測,對潛在的威脅進行排查,保證衡器軟件的質量符合國家標準。在衡器軟件的源代碼進行設計時,要將三個方面作為重點:計量特性、計量法規(guī)復合型和開發(fā)效率。根據衡器軟件的性能和運行效率來看,匯編語言是首要選擇,但是在安全性和開發(fā)效率方面和其他的高級語言有一定
TP311
A