李華偉 中國科學院計算技術研究所研究員
壽國礎 北京郵電大學教授
軟件、集成電路和網絡是信息系統的基礎,其質量決定了信息系統能否穩定可靠運行,涉及到國民經濟和國家信息安全的諸多方面。隨著信息技術的發展和信息系統的日益廣泛應用,軟件、硬件與網絡越來越復雜,由質量問題帶來的可靠和安全隱患問題日益突出,軟件-集成電路-網絡測試技術在質量保障和安全隱患檢測中發揮著越來越重要的作用。
軟件測試能夠發現軟件中存在的錯誤和缺陷,驗證軟件的功能和性能是否滿足用戶的需求,是保證軟件質量、提升開發人員信心的重要手段。據統計,在美國,軟件開發過程中超過50%的支出用于軟件測試,在我國,這個比例大約是20%左右,國產軟件質量尚存在很大差距。
軟件測試的方法種類繁多,根據不同的標準分類如下。1)按照測試過程是否在計算機上執行分為靜態測試、動態測試和解釋執行;2)按照測試過程是否考察軟件的內部結構分為黑盒(黑箱)測試和白盒(白箱)測試;3)按照軟件測試的環境分為全數字(仿真)測試、(半)實物仿真測試以及專用測試環境下的仿真測試;4)按照軟件測試的對象分為源程序審查和走查、單元測試、部件測試(組裝測試)、配置項測試(確認測試)、軟件系統測試(軟件系統聯試)、系統測試、交付前的可靠性(增長)測試、交付時的鑒定/驗收測試以及回歸測試;5)按照參加測試人員的屬性分為內部測試、用戶測試/鑒定測試、資格測試、第三方測試和軟件合格性審查。測試工具的自動化是近年來學術和產業界關注的重點。
近些年來,學術界在軟件測試領域的研究成果主要集中于自動化的測試數據生成、測試策略、回歸測試等方面,其中的關鍵技術包括基于動態符號執行的測試數據生成、基于元啟發式搜索的優化、自適應的隨機測試、組合測試、基于模型的測試、測試用例集的約簡和優化等;而產業界的工作則主要側重于測試執行框架的研發(比如廣泛應用的xUnit框架)和提高集成測試效率的持續集成(Continuous Integration)等方面。
盡管國內外學者在軟件測試方法及理論研究方面取得了長足的進展,但是隨著移動應用、Web應用、云計算、面向服務的架構和軟件生產線等新興技術的不斷涌現,傳統的軟件開發模式和軟件體系架構已發生了重大變化,一些面向傳統軟件(單一語言編寫、非分布式、規模不大)的測試方法逐漸顯露出其不足,不再適用于“多源異構、分布式、高動態”的現代軟件。如何針對此類軟件的特點,開展高效的性能與可靠性測試、存儲和能量測試、安全性測試、GUI測試和生產線測試等,將是未來的研究發展方向。
軟件的安全性測試近些年來逐步受到重視,功能驗證、漏洞掃描和模擬攻擊是其常用的方法。
按照摩爾定律發展的集成電路已創造出巨額效益,在人們的生活和工作中無處不在,因此,集成電路元器件的質量關系到千家萬戶。保障元器件質量的測試技術涉及集成電路生命周期的各階段,如圖1所示。下面從設計驗證、芯片測試、硅后調試、集成電路安全隱患檢測四個方面簡要探討目前業界正在應用的先進的集成電路測試技術。

圖1 集成電路元器件生命周期的測試技術
1) 設計驗證。設計驗證是為了在芯片流片之前找到并排除設計中的錯誤,保證設計與其功能規范相符合。據統計,設計人員往往要將整個設計流程中50%~70%的時間用于系統功能的驗證;在目前多數工程項目中,驗證工程師數目超過了設計工程師,對于復雜的設計更是達到了2:1甚至3:1的比率。設計驗證技術主要包括模擬方法和形式化方法兩大類。模擬驗證是業界主流的驗證方法,它通過施加輸入激勵進行模擬,并將模擬結果和參考模型的結果進行比較以驗證設計的正確性。業界推薦使用的先進模擬驗證方法包括:使用SystemVerilog語言建立參考功能模型,開發基于約束隨機的激勵生成平臺,采用斷言技術為驗證提供良好的可觀察性、提高對潛在內部設計錯誤的檢測能力,并進行代碼覆蓋率和功能覆蓋率的統計來指導驗證資源向未覆蓋的部分傾斜。為了提高驗證資源的可重用性,驗證工程師可以利用UVM(以SystemVerilog類庫為主體的驗證平臺開發框架)中可重用組件構建具有標準化層次結構和接口的功能驗證環境。一些典型或規范的設計已經有可以利用的驗證IP來輔助建設驗證平臺。上述模擬驗證技術在我國集成電路設計研究機構和企業均已得到不同程度的應用。
模擬方法具有良好的可擴展性,并可適用于各種類型的設計;但它不是一種完全的方法,并且對于邊緣屬性的驗證效率較低。形式化驗證則是借助基于數學的方法來證明設計滿足規范的部分或全部屬性,是一種完全的驗證方法。形式化驗證方法主要包括等價性檢驗、定理證明和模型檢驗三類。等價性檢驗主要用來檢查設計在不同的抽象層次間的功能等價性,已在國內外業界廣泛使用,但不能直接應用于功能驗證。定理證明方法主要是通過數學定理推演來證明特定的設計屬性,難以得到推廣應用。模型檢驗方法具有規范化、易于自動化、完全的特點,但在使用時會面臨狀態爆炸等問題,導致其處理規模有限。模型檢驗方法的應用需要驗證人員具備專門知識,目前在我國尚不具備廣泛應用條件。
此外,為了方便系統級的驗證,FPGA原型仿真驗證方法在國內外業界廣泛使用。
在研究領域,將模擬方法和形式化方法結合在一起的半形式化驗證方法是一個頗具前景的方向,代表性方法是抽象信息引導的驗證激勵生成。
2) 芯片測試。芯片測試用于發現有缺陷的芯片,流片出來的每一片芯片都需要經過測試。復雜高端芯片的測試成本正在接近甚至超過設計成本。測試并不是等芯片制造出來才考慮的問題,在設計過程中就必須考慮是否能開發出高質量的測試集、測試開發時間和難易程度、對每個芯片進行測試的成本等問題,從而進行有效的可測試性設計和高故障覆蓋率的測試生成。
成熟的可測試性設計技術主要有掃描設計、邊界掃描設計(JTAG,用于板級測試)、存儲器內建自測試、邏輯電路內建自測試等。為避免過高的測試功耗損壞芯片或影響測試準確性,需要進行低功耗的可測試性設計和測試生成。隨著SOC設計的發展,從邊界掃描設計標準IEEE 1149.1擴展出來嵌入式核測試標準IEEE 1500來支持SOC測試;此外,三維集成電路也推動了三維測試封裝結構的研發和應用。在測試生成方面,由于芯片性能增加及與性能相關的缺陷越來越顯著,時延測試得到廣泛應用。在研究領域,小時延缺陷對電路可靠性的影響受到關注;串擾噪聲、電源噪聲對芯片時延的影響,以及開關級或晶體管級電路的充放電路徑引起的時延變化,都需要在時延測試生成中加以考慮。針對微處理器以及包含處理器核的SOC,基于軟件的自測試技術采用指令構成的軟件程序來測試處理器本身或處理器核周圍的電路,并已在Intel等公司的產品中得到應用。此外,新型邏輯和存儲器件的測試都需要持續探索。
3) 硅后調試。隨著芯片設計越來越復雜以及單位面積上的晶體管數目快速增加,遺留到硅后階段的錯誤也隨之增多,因此,復雜的設計需要在量產之前經過首次流片的硅后調試階段。據統計,到2006年采用90nm工藝時,芯片設計周期中超過35%的時間都用于硅后調試。這表明硅后調試已經成為制約芯片上市時間的重要因素。硅后調試如果不能發現遺留在芯片中的錯誤,就會在量產甚至投向市場之后造成重大損失。所以調試需要盡可能找出留在芯片中的錯誤,包括功能錯誤和電氣錯誤。造成調試越來越困難的原因,一方面是由于在正常功能模式下受到輸出引腳的限制,芯片內部信號的可觀測性非常差;另一方面新工藝也帶來了新挑戰,一些難以發現的電氣錯誤在新的工藝下開始出現。
集成電路調試主要是通過獲取數據和分析數據來對錯誤進行定位。物理探針技術曾被廣泛用于獲取電路內部數據,然而隨著特征尺寸不斷變小和集成電路復雜度的提高,利用物理探針技術獲取數據也變得十分困難。一種有效的方法是先利用其他調試技術將錯誤限定到物理探針可以處理的范圍,然后再通過物理手段進一步定位錯誤根源。為在硅后階段較快發現和定位錯誤,可調試性設計已成為一種普遍接受的設計方案。常用的可調試性設計技術有基于掃描鏈的技術和基于追蹤緩存的技術。基于掃描鏈的技術通過在調試模式下將片中多條掃描鏈連接成一條掃描鏈,將其配置成JTAG結構中的一個特殊的數據寄存器并通過TDI和TDO端口將數據掃出,從而提高了內部信號的可觀測性。基于追蹤緩存的技術通過將芯片中需要觀測的信號連接到芯片上的追蹤緩存中,在芯片運行過程中保存這些信號的值,可以得到這些信號在一段連續時間內的值。電氣錯誤的建模、追蹤信號的選擇、錯誤的定位等是集成電路調試中關注的關鍵問題,也是研究的熱點。在國際上,ARM、MIPS等企業為其處理器核定制專門的調試結構。在國內,基于掃描鏈的調試技術在一些先進的處理器設計中已經開始應用;同時,從邊界掃描設計延伸出來的調試技術(如EJTAG)也得到一定應用。而我國多數中低端芯片設計不考慮可調試性設計,或僅僅支持利用板級測試的JTAG提供簡單的板級調試。
4) 集成電路安全隱患檢測。一顆集成電路芯片的產生需要用戶、設計方、第三方IP提供者、制造廠家等多方參與,若在不可控的中間過程引入集成電路安全隱患,這些隱患一旦被激活會導致芯片自毀、信息泄漏或被篡改、芯片功能失效等,致使信息系統運行不穩定甚至毀壞、信息被竊取或篡改,最終使得敵方獲利,給用戶造成不可挽回的損失。
集成電路安全隱患主要包括設計漏洞、硬件木馬和惡意偽造芯片。設計漏洞指由于設計人員開發硬件時的疏忽,或者是硬件描述語言自身的局限性,導致集成電路內部的部分電路在一定情況下可被利用,進而威脅信息系統的安全。硬件木馬指在集成電路內部被惡意植入的部分電路,為攻擊留下電子后門,在一定情況下可被激活、執行。惡意偽造芯片指利用老舊翻新、反向工程等手段得到未經設計制造廠商授權的非法芯片,同時也可能在偽造芯片中植入硬件木馬。相對于設計漏洞等被動式安全隱患,以硬件木馬和惡意偽造芯片等為主的主動式安全隱患惡意性更強、危害更大。
設計階段進行的硅前硬件木馬檢測,其目標在于確認設計過程中使用的第三方IP核、第三方芯片設計工具和系統設計的安全。對于IP核中硬件木馬檢測,可通過物理隔離的方法來限制不信任的IP核,并限制可信核與不可信核間的通信。系統級可采取硬件冗余的方法保護系統的安全。對于設計在電路源代碼中的硬件木馬,研究人員提出一些源代碼分析技術,來判定電路中容易被木馬利用的信號。在流片之后,硅后硬件木馬檢測的目標在于確認第三方芯片制造廠商是否在版圖級或物理級上給芯片植入硬件木馬電路,檢測手段比較受限并往往假定具有黃金參考模型,主流方法是側通道分析法和激活檢測法。
目前,集成電路安全隱患對信息安全的威脅受到國內外軍方、大學和科研機構等的緊密關注,進一步的研究需要解決兩方面的問題。1)為復雜多樣的安全隱患建立有效的檢測模型;2)解決集成度高、工藝偏差大的背景下安全隱患的有效檢測。集成電路安全隱患檢測技術目前多處于實驗室研究階段,其推廣應用還有很長的路要走。
網絡的地位從來沒有像現在這么重要,深刻影響著人們的工作、生活以及社會活動的方方面面。未來網絡已醞釀從頭再來的設計思想,革新傳統網絡的體系架構,而實際網絡的部署通常是一個循序漸進的演進過程。無論網絡是演進還是變革,網絡測試均伴隨而行。以下選取光纖網絡、無線網絡、網絡業務質量以及典型未來網絡架構等作為網絡測試的熱點進行簡要探討。
1) 光纖網絡測試。隨著移動互聯網、云計算、大數據等應用的飛速發展,接入網帶寬不斷提升,網絡流量迅猛增加,100G光纖網絡已成為運營商光纖網絡升級和新建的方向,100G的測試需求也已從實驗室轉入到目前的規模化網絡部署中。相對40G以下速率的光纖傳輸,新的100G光纖網絡不僅有更高的傳輸帶寬,而且采用了多波長、多通道和新的傳輸調制方式,所以測試方式與以前相比有所不同,包括從普遍的單波長、單通道測試變成為多波長、多通道測試。另外,由于各種不同的調制方式具備不同的傳輸適應性而形成光傳輸調制方式的差異,也引起了測試方法的升級更新。
光纖網絡的進一步發展也將促進測試技術的升級。光纖網絡光層技術將更多采用更具透明性的全光傳送方式取代光-電-光轉換方式,采用相干接收實現更高速的信號檢測能力,采用新穎的調制技術以提高頻譜效率、改善信號質量以及降低成本。從光纖網絡組網層面看,結合軟件定義網絡(SDN)的軟件定義光網絡(SDON)技術的研究近年來風頭正勁,有不少運營商與設備廠商的聯合試驗和測試已經開展,規模較大的是光互聯論壇(OIF)與開放網絡基金會(ONF)聯合舉辦的全球光傳送網SDN互操作性演示與測試,成功實現了支持南向/北向接口的多廠商互操作。
2) 無線網絡測試。隨著新的4G無線網絡的商業化部署和運營,相關的測試需求也會隨之發生一些轉變。同時,無線通信業已尋找出新的技術突破點,從而在2020年左右實現向下一代5G無線網絡的演進,來滿足不斷增長的新業務和市場應用需要。
過去20年來,如MIMO、OFDM等無線空中接口技術為移動網絡容量帶來了近20倍的增長,而新頻譜的獲得帶來了25倍的容量增長。毫無疑問,空口技術和頻譜的提升及擴展還將繼續,因此,也需要進一步提升測試能力和開發新的測試方案以滿足5G帶來的新測試要求,例如大規模天線陣列系統的仿真和測量、信道測量與建模以及新的無線接口物理層設計和驗證等。
網絡架構的改進預計會給網絡容量帶來40倍的增長,主要來自于異構網絡的部署以及信息與通信技術(ICT)的融合,目前主要的改進方式包括:小基站致密化、與無線局域網(WLAN)等多接入技術融合與流量卸載、D2D、聯合資源調度和干擾協調提高宏基站和微基站的資源利用率等。考慮到頻譜資源的稀缺以及空中接口技術,頻譜利用率已經接近容量極限,基于ICT技術融合的網絡架構的革新成為未來更長遠無線網絡容量提升的主要驅動力。由于賦予了未來無線網絡連接人與人、物與物、人與物等更廣泛應用的期望,將涉及容量、時延、能效、用戶體驗等更多、更高指標的要求,勢必對無線網絡測試方法提出新的需求和挑戰。
3) 網絡業務質量評測。傳統的網絡測試主要關注網絡從部署到運行過程中的網絡性能,QoS參數用來保障用戶的服務質量。在網絡建設與工程驗收階段,網絡測試用于檢查網絡性能是否達到設計的指標要求;在網絡運行階段,網絡可能會由于網絡設備故障或業務流量激增導致性能下降,可以通過網絡測試來定位故障、確定網絡優化方案;在網絡服務過程中,網絡運營商為用戶提供相應級別的服務質量,網絡測試能夠檢驗服務質量與服務承諾的一致性,有利于用戶和網絡運營商對服務質量達成共識。
而在當今的網絡生態中,業務成功的關鍵要看用戶的體驗質量即QoE的好壞,激烈的市場競爭使運營商意識到:提高終端用戶的滿意度,留住用戶并擴大用戶規模是生存和盈利的關鍵。根據維基百科的解釋,QoE是人們對特定的產品、服務或應用程序的期望、感受、感知、認知、滿意度,QoE成為反映人們的質量需求和期望的藍圖。由于QoE的重要性,QoE及其評測是近些年的一個熱門研究方向。QoE的評測需要有標準化的度量指標和相應的測試技術。人類主觀感受的復雜性使得QoE的評測存在難點問題,包括如何確定用戶體驗質量的影響因素、評測指標的定量化以及經濟有效的客觀評測工具。
4) 未來網絡測試。雖然前述的幾個熱點也將是支持未來網絡所需要的,但從網絡變革的角度看,目前較有代表性的未來網絡架構包括軟件定義網絡(SDN)、網絡功能虛擬化(NFV)、信息中心網絡(ICN)等。
軟件定義網絡是一種數據平面與控制平面相分離,并可直接對控制平面編程的新型網絡架構。作為SDN南向接口的OpenFlow協議實現了控制器與網絡節點設備的相互通信。隨著OpenFlow協議的研究與應用的持續推進,其標準已經更新到1.5版本。SDN的北向接口用于控制器支持應用層,但是北向接口的標準化比南向接口要緩慢和復雜。針對南向、北向接口的測試是SDN測試的重點,通常包括一致性測試、互通性測試,以檢測實現的接口協議與標準的符合程度以及不同系統間的互連互通能力。SDN其他測試還可以包括檢測SDN組網、協議實現的性能參數以及在各極端環境下運行能力的性能測試和魯棒性測試等。由于SDN涵蓋不同接口、不同廠商以及不同版本的接口協議和組網方案,需要有行之有效的測試框架和測試方法來解決相應的測試問題。
網絡功能虛擬化使用通用性硬件以及虛擬化技術來運行網絡及實現業務功能。NFV由國際主流運營商提出,并聯合多家設備廠商在ETSI建立標準組,以推動NFV產業化發展。NFV解耦了傳統專用設備的軟硬件,引入了虛擬化技術來池化物理資源,對網絡架構的改動很大,需要通過測試來驗證NFV系統是否滿足運營商的組網要求。已進行的NFV測試主要包括虛擬化系統平臺、業務軟件以及可用性測試,系統平臺和業務的測試均包含了功能測試與性能測試。
信息中心網絡(ICN)或內容中心網絡(CCN)是為適應用戶訪問網絡時對信息內容的獲取而提出的新型網絡架構,其網絡的基本行為模式是請求和獲取信息內容,而非傳統IP網絡的端到端可達。ICN/CCN所涉及的關鍵技術主要包括命名機制、緩存策略、路由與轉發機制、傳輸策略、移動性等。IETF組織開始討論CCNx協議,旨在推進ICN/CCN的標準化與應用。
近年來,我國的軟件測試、集成電路測試與網絡測試技術都有了長足的進步,在國際學術界有了越來越多的成果報道,在國內業界發揮著越來越多的作用。軟件-集成電路-網絡測試技術的研究與應用采用產-學-研相結合的方式是未來的發展趨勢。