欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式應(yīng)用意圖一致性識(shí)別方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)

文檔序號(hào):40551996發(fā)布日期:2025-01-03 11:11閱讀:11來(lái)源:國(guó)知局
分布式應(yīng)用意圖一致性識(shí)別方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)

本發(fā)明涉及一致性識(shí)別,尤其涉及一種分布式應(yīng)用意圖一致性識(shí)別方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、區(qū)塊鏈?zhǔn)且环N安全共享的數(shù)據(jù)賬本,它通過(guò)將數(shù)據(jù)分布式存儲(chǔ)在網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上,形成一個(gè)連續(xù)不斷的、不可篡改的數(shù)據(jù)鏈條,從而實(shí)現(xiàn)了去中心化的數(shù)據(jù)管理和交易記錄。區(qū)塊鏈技術(shù)不斷發(fā)展,實(shí)現(xiàn)了從區(qū)塊鏈1.0到區(qū)塊鏈2.0再到區(qū)塊鏈3.0的演進(jìn),其中智能合約作為區(qū)塊鏈2.0的代表技術(shù)之一,扮演著重要角色。智能合約的本質(zhì)是一段代碼,一旦滿足了預(yù)設(shè)的條件,合約就會(huì)自動(dòng)執(zhí)行,而且執(zhí)行過(guò)程不可逆轉(zhuǎn)。智能合約已經(jīng)被廣泛用于創(chuàng)建分布式應(yīng)用,包括但不限于游戲平臺(tái)、加密貨幣和去中心化金融等。隨著區(qū)塊鏈技術(shù)的發(fā)展和分布式應(yīng)用的普及,智能合約的數(shù)量與日俱增,人們對(duì)智能合約安全也愈加關(guān)注。智能合約中,開(kāi)發(fā)者往往通過(guò)注釋等文本來(lái)描述自己的意圖,并實(shí)現(xiàn)對(duì)應(yīng)的代碼。然而,開(kāi)發(fā)者的疏忽或經(jīng)驗(yàn)不足,可能導(dǎo)致實(shí)際的代碼邏輯和開(kāi)發(fā)者真實(shí)意圖不完全一致,這種不一致會(huì)影響代碼讀者正確理解代碼,在嚴(yán)重的情況下,還會(huì)導(dǎo)致經(jīng)濟(jì)損失。不幸的是,這種意圖不一致往往不會(huì)引發(fā)運(yùn)行時(shí)報(bào)錯(cuò),容易被忽略。

2、現(xiàn)有的代碼意圖不一致檢測(cè)利用了不同的代碼意圖描述。如dapphunter,該方法首先通過(guò)模擬前端動(dòng)作觸發(fā)dapp生成交易,并從用戶意圖角度推測(cè)預(yù)期行為,然后,捕獲發(fā)送到區(qū)塊鏈錢包的交易數(shù)據(jù),并從交易語(yǔ)義角度提取行為,同時(shí),通過(guò)分析交易執(zhí)行日志捕獲智能合約的實(shí)際行為。如果上述三種行為有任何兩個(gè)不匹配,則檢測(cè)為不一致。此外,現(xiàn)有技術(shù)還提出了doccon,用于檢測(cè)solidity智能合約庫(kù)api文檔與相應(yīng)代碼之間的不一致,doccon成功地檢測(cè)到了智能合約庫(kù)中多個(gè)api文檔錯(cuò)誤,包括參數(shù)不匹配、缺少要求、過(guò)時(shí)的描述等。此外,現(xiàn)有技術(shù)還提出了smartcoco,定義規(guī)則模板,通過(guò)一系列傳播和綁定策略將注釋約束和代碼事實(shí)提取并進(jìn)行關(guān)聯(lián)和對(duì)比,從而實(shí)現(xiàn)智能合約中的三種類型的代碼注釋不一致的檢測(cè),這也是現(xiàn)有的唯一一個(gè)在智能合約領(lǐng)域進(jìn)行代碼注釋不一致檢測(cè)的工作。還有一些基于非智能合約語(yǔ)言的、以注釋為意圖描述的意圖不一致檢測(cè)工作,主要包括基于規(guī)則的方法和基于學(xué)習(xí)的方法?;谝?guī)則的方法利用預(yù)定義的規(guī)則、自然語(yǔ)言處理和靜態(tài)分析技術(shù)進(jìn)行代碼注釋不一致的檢測(cè);基于學(xué)習(xí)的方法則嘗試?yán)脵C(jī)器學(xué)習(xí)技術(shù)來(lái)檢測(cè)代碼注釋不一致。

3、然而,在真實(shí)場(chǎng)景中,代碼及其相應(yīng)的api文檔和視圖通常并不同步產(chǎn)生。在一些情況下,代碼甚至可能沒(méi)有相應(yīng)的api視圖,因此基于dapp視圖和api文檔進(jìn)行意圖一致性檢測(cè)并不總是有效和可行的。

4、現(xiàn)有的基于規(guī)則的方法通常關(guān)注特定類型的注釋,使得制定的規(guī)則無(wú)法適用于檢測(cè)其他類型或其他語(yǔ)言的代碼注釋不一致,而且,制定規(guī)則需要大量的分析工作,耗時(shí)耗力。

5、現(xiàn)有基于學(xué)習(xí)的方法的效果依賴于大量的標(biāo)簽數(shù)據(jù),而智能合約中缺乏大規(guī)模標(biāo)簽數(shù)據(jù),降低了現(xiàn)有基于學(xué)習(xí)的方法的有效性,導(dǎo)致一致性識(shí)別效果較差。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明提供了一種分布式應(yīng)用意圖不一致識(shí)別方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),用于解決現(xiàn)有的意圖一致性識(shí)別方法普適性差、識(shí)別效果差的技術(shù)問(wèn)題。

2、本發(fā)明提供了一種分布式應(yīng)用意圖一致性識(shí)別方法,包括:

3、獲取分布式應(yīng)用的源代碼和所述源代碼的注釋;

4、生成所述注釋的注釋提示語(yǔ);

5、通過(guò)中間表示語(yǔ)言提取所述源代碼的代碼特征;

6、通過(guò)預(yù)訓(xùn)練的嵌入模型將所述注釋提示語(yǔ)轉(zhuǎn)化為注釋嵌入,以及將代碼特征轉(zhuǎn)化為代碼嵌入;

7、根據(jù)所述注釋嵌入和所述代碼嵌入判斷所述分布式應(yīng)用的意圖一致性。

8、可選地,所述生成所述注釋的注釋提示語(yǔ)的步驟,包括:

9、獲取注釋對(duì)應(yīng)的函數(shù)的函數(shù)名;

10、將所述函數(shù)名和所述注釋封裝為注釋提示語(yǔ)。

11、可選地,所述通過(guò)中間表示語(yǔ)言提取所述源代碼的代碼特征的步驟,包括:

12、將所述源代碼轉(zhuǎn)化為中間表示代碼,并生成所述中間表示代碼的抽象語(yǔ)法樹(shù);

13、獲取所述中間表示代碼的函數(shù)調(diào)用關(guān)系;

14、采用所述函數(shù)調(diào)用關(guān)系擴(kuò)展所述抽象語(yǔ)法樹(shù),得到擴(kuò)展抽象語(yǔ)法樹(shù),所述擴(kuò)展抽象語(yǔ)法樹(shù)包含多個(gè)節(jié)點(diǎn);

15、提取各節(jié)點(diǎn)對(duì)應(yīng)代碼元素在所述中間表示代碼的位置;

16、獲取所述中間表示函數(shù)的內(nèi)置函數(shù),并生成所述內(nèi)置函數(shù)的操作碼;

17、獲取所述擴(kuò)展抽象語(yǔ)法樹(shù)中節(jié)點(diǎn)的連邊,并提取所述連邊兩端的節(jié)點(diǎn)編號(hào)和所述連邊的序號(hào);

18、采用所述位置、所述操作碼和所述序號(hào)生成所述源代碼的代碼特征。

19、可選地,所述根據(jù)所述注釋嵌入和所述代碼嵌入判斷所述分布式應(yīng)用的意圖一致性的步驟,包括:

20、計(jì)算所述注釋嵌入和所述代碼嵌入的第一相似性分?jǐn)?shù);

21、拼接所述注釋嵌入、所述代碼嵌入和所述第一相似性分?jǐn)?shù),得到函數(shù)特征;

22、將所述函數(shù)特征輸入基于隨機(jī)森林的分類器,輸出是否存在意圖不一致的判斷結(jié)果。

23、可選地,所述預(yù)訓(xùn)練的嵌入模型的訓(xùn)練過(guò)程包括:

24、獲取代碼注釋對(duì);所述代碼注釋對(duì)包括代碼樣本跟注釋樣本;

25、將所述代碼樣本輸入第一待訓(xùn)練嵌入模型,得到代碼嵌入結(jié)果;

26、將所述注釋樣本輸入第二待訓(xùn)練嵌入模型,得到注釋嵌入結(jié)果;

27、采用所述代碼嵌入結(jié)果、所述注釋嵌入結(jié)果和預(yù)設(shè)第一損失函數(shù)對(duì)所述第一待訓(xùn)練嵌入模型和第二待訓(xùn)練嵌入模型進(jìn)行調(diào)整,得到第一階段預(yù)訓(xùn)練代碼嵌入模型和第一階段預(yù)訓(xùn)練注釋嵌入模型;

28、生成所述代碼樣本的變異數(shù)據(jù);

29、分別將所述代碼樣本和所述變異數(shù)據(jù)輸入所述第一階段預(yù)訓(xùn)練代碼嵌入模型,結(jié)合預(yù)設(shè)第二損失函數(shù)訓(xùn)練得到第二階段預(yù)訓(xùn)練代碼嵌入模型;

30、通過(guò)預(yù)設(shè)第三損失函數(shù)對(duì)所述第一階段預(yù)訓(xùn)練注釋嵌入模型和所述第二階段預(yù)訓(xùn)練代碼嵌入模型進(jìn)行模型精調(diào),得到預(yù)訓(xùn)練的嵌入模型。

31、本發(fā)明還提供了一種分布式應(yīng)用意圖一致性識(shí)別裝置,包括:

32、源代碼和注釋獲取模塊,用于獲取分布式應(yīng)用的源代碼和所述源代碼的注釋;

33、注釋提示語(yǔ)生成模塊,用于生成所述注釋的注釋提示語(yǔ);

34、代碼特征提取模塊,用于通過(guò)中間表示語(yǔ)言提取所述源代碼的代碼特征;

35、嵌入轉(zhuǎn)化模塊,用于通過(guò)預(yù)訓(xùn)練的嵌入模型將所述注釋提示語(yǔ)轉(zhuǎn)化為注釋嵌入,以及將代碼特征轉(zhuǎn)化為代碼嵌入;

36、意圖一致性判斷模塊,用于根據(jù)所述注釋嵌入和所述代碼嵌入判斷所述分布式應(yīng)用的意圖一致性。

37、可選地,所述注釋提示語(yǔ)生成模塊,包括:

38、函數(shù)名獲取子模塊,用于獲取注釋對(duì)應(yīng)的函數(shù)的函數(shù)名;

39、注釋提示語(yǔ)封裝子模塊,用于將所述函數(shù)名和所述注釋封裝為注釋提示語(yǔ)。

40、可選地,所述代碼特征提取模塊,包括:

41、抽象語(yǔ)法樹(shù)生成子模塊,用于將所述源代碼轉(zhuǎn)化為中間表示代碼,并生成所述中間表示代碼的抽象語(yǔ)法樹(shù);

42、函數(shù)調(diào)用關(guān)系獲取子模塊,用于獲取所述中間表示代碼的函數(shù)調(diào)用關(guān)系;

43、擴(kuò)展子模塊,用于采用所述函數(shù)調(diào)用關(guān)系擴(kuò)展所述抽象語(yǔ)法樹(shù),得到擴(kuò)展抽象語(yǔ)法樹(shù),所述擴(kuò)展抽象語(yǔ)法樹(shù)包含多個(gè)節(jié)點(diǎn);

44、位置提取子模塊,用于提取各節(jié)點(diǎn)對(duì)應(yīng)代碼元素在所述中間表示代碼的位置;

45、操作碼生成子模塊,用于獲取所述中間表示函數(shù)的內(nèi)置函數(shù),并生成所述內(nèi)置函數(shù)的操作碼;

46、序號(hào)提取子模塊,用于獲取所述擴(kuò)展抽象語(yǔ)法樹(shù)中節(jié)點(diǎn)的連邊,并提取所述連邊兩端的節(jié)點(diǎn)編號(hào)和所述連邊的序號(hào);

47、代碼特征生成子模塊,用于采用所述位置、所述操作碼和所述序號(hào)生成所述源代碼的代碼特征。

48、本發(fā)明還提供了一種電子設(shè)備,所述設(shè)備包括處理器以及存儲(chǔ)器:

49、所述存儲(chǔ)器用于存儲(chǔ)程序代碼,并將所述程序代碼傳輸給所述處理器;

50、所述處理器用于根據(jù)所述程序代碼中的指令執(zhí)行如上任一項(xiàng)所述的分布式應(yīng)用意圖一致性識(shí)別方法。

51、本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)用于存儲(chǔ)程序代碼,所述程序代碼用于執(zhí)行如上任一項(xiàng)所述的分布式應(yīng)用意圖一致性識(shí)別方法。

52、從以上技術(shù)方案可以看出,本發(fā)明具有以下優(yōu)點(diǎn):本發(fā)明通過(guò)獲取分布式應(yīng)用的源代碼和源代碼的注釋;生成注釋的注釋提示語(yǔ);通過(guò)中間表示語(yǔ)言提取源代碼的代碼特征;通過(guò)預(yù)訓(xùn)練的嵌入模型將注釋提示語(yǔ)轉(zhuǎn)化為注釋嵌入,以及將代碼特征轉(zhuǎn)化為代碼嵌入;根據(jù)注釋嵌入和代碼嵌入判斷分布式應(yīng)用的意圖一致性。無(wú)需考慮注釋的類型,從而提高了意圖一致性識(shí)別的普適性和識(shí)別效果。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
门源| 泗洪县| 华容县| 措勤县| 汾阳市| 开远市| 龙泉市| 麻栗坡县| 乌苏市| 新津县| 军事| 平湖市| 民权县| 平江县| 滦平县| 玛多县| 越西县| 聊城市| 长治县| 崇阳县| 鸡东县| 宁夏| 靖宇县| 扶风县| 云梦县| 西和县| 康乐县| 勃利县| 甘肃省| 榆中县| 阳谷县| 襄汾县| 叙永县| 资阳市| 满洲里市| 博客| 丹巴县| 遂昌县| 绥德县| 腾冲县| 理塘县|