0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

蟻群算法在驗(yàn)證用例自動化回歸中的應(yīng)用有哪些?

sanyue7758 ? 來源:阿輝說 ? 2023-10-07 16:58 ? 次閱讀

背景:如今的芯片規(guī)模越來越大,功能也愈加復(fù)雜。相應(yīng)的驗(yàn)證用例也越來越復(fù)雜,用例動態(tài)仿真耗時(shí)也隨之增加,而且個(gè)數(shù)有時(shí)動輒上百個(gè)。

在驗(yàn)證回歸過程中,如何提高效率成為廣大驗(yàn)證工程師不得不考慮的問題。

本文嘗試在驗(yàn)證工作中,通過蟻群算法優(yōu)化用例回歸序列,盡量縮短回歸時(shí)間,同時(shí)提高用例回歸的自動化程度。

(一)問題描述

假設(shè)當(dāng)前有108個(gè)用例需要回歸,并且我們有先前用例仿真的日志文件:日志文件中有該用例仿真的耗時(shí)信息。

按照傳統(tǒng)做法,我們可能首先打開十多個(gè)terminal(比如15個(gè)),平均每個(gè)terminal分配若干用例(比如7個(gè)),根據(jù)用例名的字典序回歸用例。

在大多數(shù)情況下,會有個(gè)別terminal中分配的用例很快或較快的回歸完,而其余幾個(gè)terminal時(shí)間卻又很長,遲遲不能完成,時(shí)間最長的那個(gè)terminal決定了一次回歸所用的總時(shí)間。

那么,是否可以找到更好的回歸隊(duì)列分配給各個(gè)terminal, ***使得回歸總時(shí)間最短*** ?

(二)問題轉(zhuǎn)化

現(xiàn)在,問題就可以轉(zhuǎn)化為:108個(gè)耗時(shí)不等的任務(wù),分配給15個(gè)并行隊(duì)列,求15個(gè)隊(duì)列的任務(wù)序列組合,使得15個(gè)隊(duì)列的總耗時(shí)最??;這個(gè)任務(wù)分配問題可以進(jìn)一步引申為**負(fù)載調(diào)度**問題,108個(gè)任務(wù)分配給15臺性能各異(或同等)的服務(wù)器。

上面是從時(shí)間角度進(jìn)行的問題轉(zhuǎn)化,也可以從空間角度考慮,把用例耗時(shí)對應(yīng)空間大小,把問題轉(zhuǎn)化為 **存儲問題** ,本文暫不研究。

(三)問題解決

我們參考作者的JavaScript代碼,考慮用perl實(shí)現(xiàn)算法的核心代碼。具體步驟如下:

1)提取時(shí)間信息:即從仿真日志里提取時(shí)間信息,分兩步①粗提取,這個(gè)使用shell命令即可,可以放到makefile中;②準(zhǔn)確提取,在剛剛的makefile中調(diào)用perl腳本,在perl腳本中利用perl強(qiáng)大的文本處理能力提取準(zhǔn)確的時(shí)間信息,存入一個(gè)哈希%Case_hash(鍵-用例名,值-用例對應(yīng)的時(shí)間)中。

2)蟻群算法的perl實(shí)現(xiàn):除了剛剛得到的哈希數(shù)組%Case_hash,我們還要給定隊(duì)列數(shù)目QueneNum,這是蟻群算法的輸入。同時(shí),蟻群算法還涉及螞蟻數(shù)量AntNum,迭代次數(shù)ItNum,隨機(jī)因子等參數(shù),參考文獻(xiàn)[1]中有詳細(xì)說明,這里不再贅述。 最終,蟻群算法會得到最優(yōu)的任務(wù)分配矩陣,我們通過這個(gè)矩陣就可以知道每個(gè)隊(duì)列分配了那幾個(gè)用例。

3)回歸隊(duì)列生成:得到用例回歸隊(duì)列后,將這些隊(duì)列以target形式寫入新的makefile中(sub_makefile,在主makefile中include這個(gè)sub_makefile)。

4)自動回歸:剛剛生成了sub_makefile,我們再新建一個(gè)腳本,實(shí)現(xiàn)“自動打開指定個(gè)數(shù)terminal,在每個(gè)terminal自動輸入相應(yīng)回歸命令(make)即可”。

(四)問題的問題

在perl實(shí)現(xiàn)蟻群算法時(shí),矩陣的處理可能會稍微麻煩一些,這里使用了哈希嵌套的做法[2]。

另外,在實(shí)際應(yīng)用中,蟻群算法有以下問題①在有限迭代次數(shù)內(nèi),算法不收斂;②算法收斂,但得到的最優(yōu)解是**局部最優(yōu)解**,非全局最優(yōu)解。局部最優(yōu)解是傳統(tǒng)蟻群算法的缺點(diǎn)之一。實(shí)際使用時(shí)可以折衷考慮,適當(dāng) *增大迭代次數(shù)* ,同時(shí)提高蟻群的 *隨機(jī)性* ,在有限的迭代次數(shù)內(nèi)*持續(xù)搜尋最短時(shí)間的任務(wù)分配方案。*






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1034

    瀏覽量

    85135
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2987

    瀏覽量

    107385
  • 蟻群算法
    +關(guān)注

    關(guān)注

    3

    文章

    55

    瀏覽量

    13358

原文標(biāo)題:蟻群算法在驗(yàn)證用例自動化回歸中的應(yīng)用

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    算法基本原理及其應(yīng)用實(shí)例

    算法是一種仿生學(xué)算法,其靈感來源于螞蟻尋找食物過程中發(fā)現(xiàn)路徑的行為。
    發(fā)表于 02-02 09:44 ?9.3w次閱讀
    <b class='flag-5'>蟻</b><b class='flag-5'>群</b><b class='flag-5'>算法</b>基本原理及其應(yīng)用實(shí)例

    NHLERE:應(yīng)用算法的WSN路由算法

    【摘要】:針對WSN中節(jié)點(diǎn)能量有限及節(jié)點(diǎn)間鏈路隨機(jī)損耗特點(diǎn),提出一種基于算法的用于無限傳感器網(wǎng)絡(luò)的路由算法-NHLERE,利用
    發(fā)表于 04-24 10:05

    MATLAB算法程序匯集篇

    MATLAB算法程序匯集篇
    發(fā)表于 03-30 18:02

    有沒有算法的matlab編程代碼

    圖像處理的是算法或者是基于對數(shù)圖像處理理論。。木有這兩種算法的實(shí)現(xiàn)代碼。。有的話發(fā)到我郵
    發(fā)表于 04-03 09:45

    回歸算法哪些,常用回歸算法(3種)詳解

    。通常來說,事件可被表示為類別因變量。事件的概率 logit 函數(shù)(Sigmoid 函數(shù))表示: 現(xiàn)在的目標(biāo)是估計(jì)權(quán)重 W=(w1,w2,...,wn) 和偏置項(xiàng) b。邏輯回歸中,使用最大似然估計(jì)量或
    發(fā)表于 07-28 14:36

    算法參數(shù)優(yōu)化

    針對算法運(yùn)行參數(shù)選取問題,提出一種利用粒子群優(yōu)化算法
    發(fā)表于 04-22 08:42 ?28次下載

    算法及其應(yīng)用

    該論文講解介紹了算法的定義及其應(yīng)用。
    發(fā)表于 12-25 15:03 ?11次下載

    算法文本聚類中的應(yīng)用研究

    算法文本聚類中的應(yīng)用研究_張海濤
    發(fā)表于 01-03 17:41 ?0次下載

    雜草_算法應(yīng)急管理中的應(yīng)用

    雜草_算法應(yīng)急管理中的應(yīng)用_曹磊
    發(fā)表于 01-07 20:49 ?0次下載

    基于算法的迭代思想的信息素更新規(guī)則

    問題和dantzig42問題兩個(gè)例子的仿真實(shí)驗(yàn)對比基本算法。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的算法
    發(fā)表于 11-17 17:30 ?13次下載
    基于<b class='flag-5'>蟻</b><b class='flag-5'>群</b><b class='flag-5'>算法</b>的迭代思想的信息素更新規(guī)則

    算法是什么能做什么_算法的優(yōu)勢在哪里?

    算法是一種智能算法,也是啟發(fā)式算法?;驹韥碓从谧匀唤缥浵佉捠车淖疃搪窂皆?。
    發(fā)表于 02-02 09:12 ?2.9w次閱讀
    <b class='flag-5'>蟻</b><b class='flag-5'>群</b><b class='flag-5'>算法</b>是什么能做什么_<b class='flag-5'>蟻</b><b class='flag-5'>群</b><b class='flag-5'>算法</b>的優(yōu)勢在哪里?

    算法解決tsp問題

    控制算法走向的關(guān)鍵是信息素,信息素類似遺傳算法的適應(yīng)性函數(shù),類似退火算法的評價(jià)函數(shù),影響著其中一只螞蟻的下一步的選擇。
    發(fā)表于 02-02 12:47 ?7601次閱讀

    算法的基本原理及其改進(jìn)算法.ppt

    算法的基本原理及其改進(jìn)算法.ppt
    發(fā)表于 04-23 14:28 ?6次下載
    <b class='flag-5'>蟻</b><b class='flag-5'>群</b><b class='flag-5'>算法</b>的基本原理及其改進(jìn)<b class='flag-5'>算法</b>.ppt

    基于算法的去中心協(xié)議

    2018年11月15日,第二十屆中國國際高新成果交易會(簡稱高交會)新產(chǎn)品新技術(shù)發(fā)布活動上,深圳市物芯智能科技有限公司發(fā)布其新品-基于算法的去中心
    發(fā)表于 11-21 17:02 ?846次閱讀

    算法LEACH路由協(xié)議中的應(yīng)用_段軍

    算法LEACH路由協(xié)議中的應(yīng)用_段軍(不進(jìn)系統(tǒng)沒事進(jìn)入系統(tǒng)電源自動斷)-
    發(fā)表于 07-26 12:25 ?13次下載
    <b class='flag-5'>蟻</b><b class='flag-5'>群</b><b class='flag-5'>算法</b><b class='flag-5'>在</b>LEACH路由協(xié)議中的應(yīng)用_段軍

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品