国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

針對CIMS系統中測試集的篩選問題進行研究

集成電路應用雜志 ? 來源:未知 ? 作者:工程師郭婷 ? 2018-08-30 17:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

隨著信息化社會的飛速發展,圖形處理芯片 GPU芯片的功能越來越豐富,性能要求越來越高,應用領域也越來越多源化。相應地,在 GPU 架構設計環節,功能級仿真 C-model 的規模和復雜度也不斷增大。整個項目設計周期內,任何新版本的引入,無論是源于對已有錯誤的修正,還是為支持新功能而增加模塊,都可能對原有 C-model 帶來影響。如果無限制地任由研發團隊的每個人隨意檢出檢入,就會給項目帶來風險,因此就需要對代碼進行版本控制和有效管理。

與此同時,代碼的頻繁修改,理論上都需要更高頻率的測試來驗證,才能避免新錯誤的引入,確保芯片的正常功能。其過程十分重要,但是需要大量的人力、物力成本。因此,要確保項目高效正向推進,有必要在代碼提交前對其進行有效的預檢,為后續的回歸測試和錯誤跟蹤節省成本。

眾所周知,測試用例決定了測試的成本及效果,針對版本控制系統端的測試用例,時效性顯得尤為重要。因此,如何在時間有限的約束條件下,在代碼預檢端優選出能保障代碼質量的測試用例集合,成為本文研究的重點。

2 CIMS 原理框架和集合覆蓋問題

2.1 CIMS原理框架

作為我們自行研發的自動化測試框架的一部分,檢入管理系統 CIMS(Check In Management System)相當于軟件版本管理系統的前置過濾器。圖 1 為其工作流程圖。該系統利用 Perforce 提供的trigger 功能,將我們自定義的腳本嵌入。當研發人員修改代碼并檢入時,p4server 自動調用腳本對修改的代碼進行編譯和測試。只有通過所有編譯和測試項的修改,才可過關進而被成功提交至 Perforce 存儲庫,并獲得版本號。否則,修改將被退回,開發員可以通過 CIMS 系統提供的網頁界面查詢編譯和測試狀態,便于進一步自查和完善代碼。雖然通過 CIMS這套機制,對代碼質量設置了一定的門檻,但是也需要兼顧時間成本,為了讓 CIMS 發揮更大的作用,測試集的優選算法值得重點研究。

目前,測試人員普遍采用回歸測試來保證代碼修改的正確性,并避免代碼修改給被測程序其他模塊帶來的副作用。CIMS 系統中測試用例集的優選問題在以往的項目開發中,往往憑經驗從已有的回歸測試集合中,分模塊挑選,以提高整個 pipeline 的功能覆蓋,并無任何指標來評判其效用之優劣。本文從集合覆蓋角度,對如何從已有回歸測試集中篩選子集作為 CIMS 系統內的測試集展開研究。

2.2 集合覆蓋問題

在集合論中,集合覆蓋定義為:假設 A 是非空集合,如果 A 的若干非空子集的并集等于 A,則由這些子集構成的集合 C 稱為 A 的覆蓋。即非空集 A的一個覆蓋 C 是 A 的非空子集的集合。

經典的集合覆蓋問題 SCP(Set Covering Problem)描述如下:給定兩個集合 R 和 S,元素的集合 R 和 R 的子集的集合 S,目標是找到 S 的一個子集 C,使得 C 中所有集合的并等于 R,且使 |C| 最小。這是 NP-hard 類的最優化組合問題。

早期回歸測試工具大都基于黑盒測試。當時,還沒有任何回歸測試工具能在程序修改后自動在原始用例集中選擇出一個用例子集進行回歸測試,而是再測試全部已有用例進行回歸測試。在這種情況下,Fischer 等人研究了如何在原始用例集中選擇出一個最小的子集,用于回歸測試,且不會降低測試效果和程序的可靠性,最早提出了測試用例最小化的思想[1]。對測試用例集最小化的定義如下:給定測試需求集 R{R1,R2,R3.....Rm},測試用例集 T{T1,T2,T3....Tn},該測試用例集 T 能夠用來充分測試 R。問題:從 T 中找到一個最小子集 T',該子集 T' 能夠用來充分測試給定的測試需求集 R。

1993 年,Harrold 等人[2]首次提出了測試用例集約簡的概念,也就是要在原始的測試用例中尋找一個子集,實現測試需求的充分覆蓋。隨后研究人員圍繞測試用例集約減問題提出了貪心算法[3]、整數規劃算法、遺傳算法、HGS 等算法。這些方法各有優勢和局限性,更多趨向于去除冗余的測試用例,沒有考慮到要縮減用例的根本原因是資源有限,而且約減的目的并不單是測試用例的個數越少越好,也要考慮約減后測試用例集的錯誤檢測能力是否保持在一定的水平上。為了充分利用資源,又兼顧資源的約束條件。

本文提出了一種改進的測試集優選算法,尋求能使代碼覆蓋率達到最大的用例集。

3 基于SCP原理的優化方案

3.1 集合覆蓋貪心算法

最早提出用貪心算法來求解測試用例集合覆蓋問題的是 V.Chvatal[4]。集合覆蓋貪心算法是測試用例集約減問題的一個常用近似算法。貪心策略的思路是從問題的初始狀態出發,通過若干次的貪心選擇而得出最優解(或較優解)。其算法執行過程如下:逐次從 T 中選擇一個測試用例,使之能盡可能多地滿足 R 中的測試需求,然后從 R 中刪除這些已被滿足的測試需求,循環幾次上述操作,直到所有測試需求都能被滿足(即 R 為空集)。

該算法的時間復雜度是 O (m,n,min(m,n))。算法如下。

input A:包含 m 個元素的集合

C(A):A 的 n 個子集的集合

output C:從 C(A) 中選擇的元素的集合

declare U:A 中所有未覆蓋元素的集合

X:從 C(A) 中選中的元素

Begin

/初始化/

U=A;

C=Φ;

While(U≠Φ )

/選擇一個能滿足未覆蓋元素的最大數目的子集/

select{X} C(A) such that |{X}∩ U| is maximum;

U=U{X};

C=C ∪ {X};

End-while

End

貪心算法所做出的選擇雖然只是在某種意義上的局部最優解,但許多問題自身的特性決定了該問題運用貪心策略可以得到最優解或較優解。CIMS 系統中測試集的集合覆蓋問題可以用貪心算法求解。即通過一系列當前狀態下某種意義的最好選擇(貪心選擇)來得到一個問題的解。最小化問題的貪心選擇性質表現為:問題的整體最優解是通過一系列局部最優的選擇,即貪心選擇來達到的。

3.2 測試用例約減模型

針對 CIMS 系統中測試集的集合覆蓋問題[4,5],本文定義了資源約束條件下的測試用例約減模型為:假設給定一個回歸測試用例集 R={r1,r2.....rn},其中每個測試用例對應的運行時間為 T={t1,t2....tn},每個測試用例對應的函數覆蓋率為 C={c1,c2....cn},假定約束時間為 Tsum,我們要找出一個測試用例集的子集 P={ p1,p2.....pm },其中 m

(3)

3.3 算法實現

根據測試用例約減模型,假設已有回歸測試用例集為 R={r1,r2.....rn},其對應的函數覆蓋率為 Ctotal,其中,每個測試用例 rn 對應了不同的函數覆蓋率 cn 和不同的測試時間 tn,取函數覆蓋率和測試時間的比值 cn/tn 作為該測試用例 rn 的優先級系數,需要選出最佳測試子集 P,使得該集合所對應的函數覆蓋率盡可能接近 Ctotal、該集合中所有測試用例運行時間之和不大于約束值 Tsum。算法流程如圖 2 所示,具體實現步驟如下。

(1)設定時間約束條件為 Tsum。

(2)將測試用例按其函數覆蓋率 Cn 從大到小排序,將排位第一的測試用例選入 P。

(3)在余下的測試用例中,篩選與已選中的測試用例對應的被覆蓋函數交集最小的測試用例,若其值相同,則選取優先級系數最大的測試用例。

(4)以此類推,依次選取,累加被選中的測試用例的運行時間,直到運行時間之和 ∑mi=1 ti 超過約束時間 Tsum 為止。

4 實驗驗證

本文研究的重點是基于函數覆蓋率的測試用例篩選,所以覆蓋率信息收集的是函數覆蓋率相關信息,包括覆蓋到的函數塊數量,總共的函數塊數量,以及兩者之間的比值即函數覆蓋率。另外,計算出每個測試用例覆蓋到的函數塊數量與其運行時間的比值,作為優先級系數。在算法中我們會優先考慮選擇運行時間盡可能短、而覆蓋率盡可能高的測試用例,從而來保證時間約束條件下,覆蓋更多的函數塊,得到的覆蓋率百分比盡可能地接近完全測試的覆蓋率百分比。

根據 3.2 中提出的用例約減模型,本文選取已有回歸測試用例 13 067 個進行實驗,圖 3 是利用工具 Bullseye 獲取單個測試用例的覆蓋率信息。

并且,編寫程序自動化采集下列相關信息。

(1)測試用例名稱。

(2)測試用例的函數覆蓋率信息。

(3)測試用例運行的時間。

(4)測試用例優先級系數等,部分數據如表 1 所示。

本文選取的 C-model 代碼擁有 13 216 個函數功能塊,實驗時所取的完全測試所得到的函數覆蓋率為 84%。實驗結果顯示:相同運行時間下,改進前 CIMS 測試集對應的函數覆蓋率為 49%,而采用本文算法后獲得的測試集所對應的函數覆蓋率可達 76%(參見圖 4)。

實驗證明,采用本文的改進算法后,在原有測試運行時間不變的情況下,算法篩選出的測試集所對應的函數覆蓋率提高了 27%。說明在時間有限的約束下,采用本文的算法能合理挑選符合條件的測試用例集,使得到的測試用例子集的函數覆蓋率更接近完全測試所對應的覆蓋率。

5 結語

本文針對 CIMS 系統中測試集的篩選問題,結合集合覆蓋原理展開研究,定義了一個資源約束條件下的測試用例約減模型,并實現了一種改進的算法,使得 CIMS 測試集在規定時間內覆蓋更多函數塊,提升了代碼質量預檢的性能,對保證項目質量有著積極的實際意義。

隨著項目的推進,測試集的篩選也需要定期動態調整。如何進一步完善算法,使其能優選出可以覆蓋代碼修改部分的測試用例,更好地滿足測試需求,是下一步值得研究的方向。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54010

    瀏覽量

    466129
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11279

    瀏覽量

    225015
  • 自動化
    +關注

    關注

    31

    文章

    5933

    瀏覽量

    90264

原文標題:檢入管理 CIMS 系統中的集合覆蓋問題 SCP 研究

文章出處:【微信號:appic-cn,微信公眾號:集成電路應用雜志】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    車載 HUD 系統的熱量仿真與陽光模擬測試研究

    車載抬頭顯示器(HUD)是集成光學、機械、電氣與熱管理于一體的復雜系統,其熱可靠性直接關系到成像性能與行車安全。本研究針對HUD在實際使用面臨的陽光倒灌與高溫工作兩類主要熱風險,通過
    的頭像 發表于 01-07 18:03 ?176次閱讀
    車載 HUD <b class='flag-5'>系統</b>的熱量仿真與陽光模擬<b class='flag-5'>測試</b><b class='flag-5'>研究</b>

    SMT工廠降本增效的終極武器:全面解析CIMS應用

    集成制造系統)能夠顯著提升生產效率、產品質量、設備利用率及柔性制造能力,同時縮短產品設計周期與市場投放時間,為企業帶來多維度經濟效益。以下是具體作用分析: ? 在SMT貼片加工生產上應用CIMS作用 1. 打通設計-生產信息孤島,縮短生產準備時間 問題背景:SMT生產中,
    的頭像 發表于 12-25 09:29 ?58次閱讀
    SMT工廠降本增效的終極武器:全面解析<b class='flag-5'>CIMS</b>應用

    指令測試的一種糾錯方法

    本文描述在進行指令測試的一種糾錯方法 1.打開測試指令對應的dump文件 dump文件是指由匯編文件
    發表于 10-24 14:04

    無開發板在Linux系統進行E203內核指令測試以及跑分程序的測試

    本文為描述在沒有開發板的前提下如何在Linux系統進行指令測試。 在不同的開發板上移植蜂鳥E203軟核的過程請參考前文 1.將文件傳輸進入Linux
    發表于 10-24 11:43

    ATA-1220E寬帶功率放大器在無線電能傳輸系統的性能研究

    實驗名稱: 功率放大器在植入式無線電能傳輸的應用 研究方向: 基于微流控聲學混合技術優化鈣鈦礦納米晶體的快速成核與生長 實驗內容: 針對人體植入式設備電場耦合無線電能傳輸進行研究,
    的頭像 發表于 09-12 10:21 ?672次閱讀
    ATA-1220E寬帶功率放大器在無線電能傳輸<b class='flag-5'>系統</b><b class='flag-5'>中</b>的性能<b class='flag-5'>研究</b>

    電源芯片一次篩選:復雜流程下的高要求與高效應對

    一次篩選:芯片可靠性的“第一道防線”在集成電路從設計到量產的全流程,一次篩選是保障產品質量的核心環節。它位于封裝測試階段前端,通過多維度的嚴格測試
    的頭像 發表于 08-15 08:48 ?1041次閱讀
    電源芯片一次<b class='flag-5'>篩選</b>:復雜流程下的高要求與高效應對

    電壓放大器在鋼筋剝離損傷識別試驗的創新應用成果

    實驗名稱: 鋼筋剝離損傷識別試驗 研究方向: 無損檢測 測試目的: 采用壓電導波檢測技術針對鋼筋混凝土結構中鋼筋的腐蝕問題進行研究,提出一種基于壓電超聲導波利用連續小波變換技術的鋼筋腐
    的頭像 發表于 08-06 13:36 ?557次閱讀
    電壓放大器在鋼筋剝離損傷識別試驗<b class='flag-5'>中</b>的創新應用成果

    雙電機同步驅動系統控制參數整定研究

    摘 要:工業發展的要求使得雙(多)電機的運用越來越廣泛。雙電機同軸驅動的控制系統是一種典型的多通道多控制器系統,為了獲得優良的控制性能,有必要對其控制器參數的整定進行研究。采用單彈簣-雙慣量塊模型
    發表于 06-19 11:04

    三相異步電機機械特性測試系統研究

    摘要:針對高校電機教學實驗中三相異步電機機械特性不穩定區不易測試的難點,對轉速基于閉環控制的三相異步電機特性測試系統進行新的設計。該設計運用
    發表于 06-13 09:40

    利用普源示波器進行功率器件動態特性測試研究

    深度等優點,在功率器件動態特性測試具有廣泛的應用前景。本文旨在研究利用普源示波器進行功率器件動態特性測試的方法,為相關領域的
    的頭像 發表于 06-12 17:03 ?683次閱讀
    利用普源示波器<b class='flag-5'>進行</b>功率器件動態特性<b class='flag-5'>測試</b>的<b class='flag-5'>研究</b>

    利用MATLAB對交流電機調速系統進行建模和仿真

    原理結構圖的仿真方法,對交流電機調速系統進行研究,從而實現對典型電機定子調壓調速模型的構建與仿真。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:利用MATLAB對交流電機調速系統
    發表于 06-06 14:31

    Aigtek電壓放大器在電場潤濕性轉變實驗研究的應用

    經過疏水處理后去離子水的接觸角和滾動角,最后測量在加電和去電液滴接觸角的改變和填充狀態,并對其規律進行研究測試設備:電壓放大器 、信號發生器、接觸角測量儀等。 實驗過程: 圖1:電潤濕試驗操作臺 實驗前先進行電潤濕
    的頭像 發表于 04-21 11:15 ?700次閱讀
    Aigtek電壓放大器在電場潤濕性轉變實驗<b class='flag-5'>研究</b><b class='flag-5'>中</b>的應用

    化學電池儲能系統在并網型新能源發電系統的應用研究分析

    為了更好地改善新能源發電并網對電力系統穩定性的影響,本文針對電池儲能系統在并網型新能源發電系統的應用及作用
    的頭像 發表于 03-18 11:04 ?962次閱讀
    化學電池儲能<b class='flag-5'>系統</b>在并網型新能源發電<b class='flag-5'>系統</b><b class='flag-5'>中</b>的應用<b class='flag-5'>研究</b>分析

    智能電動輪椅控制系統研究與設計

    控制系統,闡述了硬件系統的設計與實現,完成了軟件系統軟件平臺的搭建,并針對電機速度不穩定的問題,提出了一種基于線性自抗擾和模糊PID 控制算法的雙閉環調速
    發表于 03-07 15:17

    安泰電壓放大器在機翼變形控制系統研究的應用

    實驗名稱:機翼變形控制系統設計與實驗驗證 測試目的:考慮MFC驅動器遲滯、蠕變特性補償的變彎度機翼開、閉環控制系統設計工作,并進行機翼彎度變形地面實驗
    的頭像 發表于 03-07 11:15 ?691次閱讀
    安泰電壓放大器在機翼變形控制<b class='flag-5'>系統研究</b><b class='flag-5'>中</b>的應用