国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法及設(shè)備與流程

      文檔序號(hào):39607699發(fā)布日期:2024-10-11 13:16閱讀:12來(lái)源:國(guó)知局
      一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法及設(shè)備與流程

      本發(fā)明涉及基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,具體涉及一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法及設(shè)備。


      背景技術(shù):

      1、隨著軟件行業(yè)的快速發(fā)展,代碼的復(fù)雜性和數(shù)量不斷增加,代碼質(zhì)量影響軟件的可靠性和性能,尤其是在銀行業(yè),軟件的可靠性至關(guān)重要。傳統(tǒng)的代碼質(zhì)量檢測(cè)方法主要依賴于人工審查和靜態(tài)代碼分析工具,這些方法存在以下局限性:

      2、1、人工審查的局限性:人工代碼審查耗時(shí)且易受審查人員經(jīng)驗(yàn)影響,難以保證一致性和全面性。此外,人工審查難以規(guī)?;瘧?yīng)對(duì)大型項(xiàng)目和復(fù)雜系統(tǒng)。

      3、2、靜態(tài)代碼分析工具的不足:雖然靜態(tài)代碼分析工具可以自動(dòng)檢測(cè)代碼中的一些常見(jiàn)問(wèn)題,如語(yǔ)法錯(cuò)誤、潛在的空指針異常等,但它們通?;陬A(yù)設(shè)的規(guī)則,對(duì)于復(fù)雜的編程邏輯和上下文理解能力有限,且容易產(chǎn)生大量誤報(bào)。

      4、3、缺乏智能化和自適應(yīng)性:現(xiàn)有工具往往缺乏自學(xué)習(xí)和自適應(yīng)的能力,難以隨著項(xiàng)目的發(fā)展和代碼庫(kù)的演變而進(jìn)化,也難以適應(yīng)新的編程范式和語(yǔ)言特性。


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

      1、本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)存在的不足,提供一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法及設(shè)備。

      2、為實(shí)現(xiàn)上述目的,在第一方面,本發(fā)明提供了一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,包括:

      3、步驟1、采集源代碼數(shù)據(jù);

      4、步驟2、對(duì)所述源代碼數(shù)據(jù)的代碼格式進(jìn)行預(yù)處理,并根據(jù)標(biāo)準(zhǔn)化處理后的代碼生成抽象語(yǔ)法樹(shù),每一節(jié)點(diǎn)vi表示一個(gè)語(yǔ)法元素,所述語(yǔ)法元素包括變量、操作符和語(yǔ)句塊,然后將所述抽象語(yǔ)法樹(shù)構(gòu)建為圖數(shù)據(jù),i=1,2,……n,n為節(jié)點(diǎn)總數(shù);

      5、步驟3、將構(gòu)建的圖數(shù)據(jù)輸入至訓(xùn)練合格的圖卷積神經(jīng)網(wǎng)絡(luò)中,以對(duì)代碼進(jìn)行質(zhì)量檢測(cè),并輸出每個(gè)節(jié)點(diǎn)vi的檢測(cè)結(jié)果其中,k表示有k種質(zhì)量問(wèn)題,yij∈{0,1},表示節(jié)點(diǎn)vi在第j種質(zhì)量問(wèn)題上的標(biāo)簽,j=1,2,……k;

      6、步驟4、根據(jù)每個(gè)節(jié)點(diǎn)vi的檢測(cè)結(jié)果生成代碼分析報(bào)告。

      7、進(jìn)一步的,用于采集源代碼的接口包括開(kāi)發(fā)環(huán)境接口、版本控制系統(tǒng)接口、代碼倉(cāng)庫(kù)訪問(wèn)接口和代碼提取接口。

      8、進(jìn)一步的,所述預(yù)處理包括格式化處理和移除代碼中的注釋內(nèi)容,所述格式化處理包括縮進(jìn)、換行、空格處理。

      9、進(jìn)一步的,每個(gè)節(jié)點(diǎn)vi檢測(cè)結(jié)果的計(jì)算方式如下:

      10、

      11、其中,sigmoid(.)為圖卷積神經(jīng)網(wǎng)絡(luò)的第二隱藏層的激活函數(shù)、relu(.)為圖卷積神經(jīng)網(wǎng)絡(luò)的第一隱藏層的激活函數(shù),為度矩陣,為加上自連接的圖數(shù)據(jù)的鄰接矩陣,h(0)為輸入至圖卷積神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)vi的特征,w(0)、w(1)分別為第一隱藏層和第二隱藏層的權(quán)重矩陣。

      12、進(jìn)一步的,所述步驟4具體包括:

      13、從所述圖卷積神經(jīng)網(wǎng)絡(luò)的輸出中收集所有節(jié)點(diǎn)的檢測(cè)結(jié)果

      14、

      15、對(duì)所有節(jié)點(diǎn)的檢測(cè)結(jié)果進(jìn)行匯總,統(tǒng)計(jì)檢測(cè)結(jié)果中的每種質(zhì)量問(wèn)題在整個(gè)代碼中的分布情況,同時(shí)將節(jié)點(diǎn)的檢測(cè)結(jié)果映射回源代碼中,記錄每個(gè)問(wèn)題在源代碼中的具體發(fā)生位置;

      16、根據(jù)檢測(cè)結(jié)果中的質(zhì)量問(wèn)題生成對(duì)應(yīng)的自然語(yǔ)言描述;

      17、根據(jù)質(zhì)量問(wèn)題的嚴(yán)重性、對(duì)系統(tǒng)造成的影響、發(fā)生頻率對(duì)質(zhì)量問(wèn)題進(jìn)行排序,確定各個(gè)質(zhì)量問(wèn)題的優(yōu)先級(jí);

      18、生成統(tǒng)計(jì)圖表,以展示不同類型質(zhì)量問(wèn)題的數(shù)量和分布情況;

      19、根據(jù)每個(gè)問(wèn)題在源代碼中的具體發(fā)生位置、質(zhì)量問(wèn)題對(duì)應(yīng)的自然語(yǔ)言描述、質(zhì)量問(wèn)題的優(yōu)先級(jí)和統(tǒng)計(jì)圖表匯總生成代碼分析報(bào)告。

      20、在第二方面,本發(fā)明提供了一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)設(shè)備,包括:

      21、代碼采集模塊,用以采集源代碼數(shù)據(jù);

      22、預(yù)處理模塊,用以對(duì)所述源代碼數(shù)據(jù)的代碼格式進(jìn)行預(yù)處理,并根據(jù)標(biāo)準(zhǔn)化處理后的代碼生成抽象語(yǔ)法樹(shù),每一節(jié)點(diǎn)vi表示一個(gè)語(yǔ)法元素,所述語(yǔ)法元素包括變量、操作符和語(yǔ)句塊,然后將所述抽象語(yǔ)法樹(shù)構(gòu)建為圖數(shù)據(jù),i=1,2,……n,n為節(jié)點(diǎn)總數(shù);

      23、代碼分析模塊,用以采用訓(xùn)練合格的圖卷積神經(jīng)網(wǎng)絡(luò)接收所述圖數(shù)據(jù),以對(duì)代碼進(jìn)行質(zhì)量檢測(cè),并輸出每個(gè)節(jié)點(diǎn)vi的檢測(cè)結(jié)果其中,k表示有k種質(zhì)量問(wèn)題,yij∈{0,1},表示節(jié)點(diǎn)vi在第j種質(zhì)量問(wèn)題上的標(biāo)簽,j=1,2,……k;

      24、分析包括生成模塊,用以根據(jù)每個(gè)節(jié)點(diǎn)vi的檢測(cè)結(jié)果生成代碼分析報(bào)告。

      25、進(jìn)一步的,所述代碼采集模塊的接口包括開(kāi)發(fā)環(huán)境接口、版本控制系統(tǒng)接口、代碼倉(cāng)庫(kù)訪問(wèn)接口和代碼提取接口。

      26、進(jìn)一步的,所述預(yù)處理包括格式化處理和移除代碼中的注釋內(nèi)容,所述格式化處理包括縮進(jìn)、換行、空格處理。

      27、進(jìn)一步的,每個(gè)節(jié)點(diǎn)vi檢測(cè)結(jié)果的計(jì)算方式如下:

      28、

      29、其中,sigmoid(.)、relu(.)均為激活函數(shù),為度矩陣,為加上自連接的圖數(shù)據(jù)的鄰接矩陣,h(0)為輸入至圖卷積神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)vi的特征,w(0)、w(1)分別為圖卷積神經(jīng)網(wǎng)絡(luò)的第一隱藏層和第二隱藏層的權(quán)重矩陣。

      30、進(jìn)一步的,所述分析包括生成模塊生成代碼分析報(bào)告的方式具體包括:

      31、從所述圖卷積神經(jīng)網(wǎng)絡(luò)的輸出中收集所有節(jié)點(diǎn)的檢測(cè)結(jié)果

      32、

      33、對(duì)所有節(jié)點(diǎn)的檢測(cè)結(jié)果進(jìn)行匯總,統(tǒng)計(jì)檢測(cè)結(jié)果中的每種質(zhì)量問(wèn)題在整個(gè)代碼中的分布情況,同時(shí)將節(jié)點(diǎn)的檢測(cè)結(jié)果映射回源代碼中,記錄每個(gè)問(wèn)題在源代碼中的具體發(fā)生位置;

      34、根據(jù)檢測(cè)結(jié)果中的質(zhì)量問(wèn)題生成對(duì)應(yīng)的自然語(yǔ)言描述;

      35、根據(jù)質(zhì)量問(wèn)題的嚴(yán)重性、對(duì)系統(tǒng)造成的影響、發(fā)生頻率對(duì)質(zhì)量問(wèn)題進(jìn)行排序,確定各個(gè)質(zhì)量問(wèn)題的優(yōu)先級(jí);

      36、生成統(tǒng)計(jì)圖表,以展示不同類型質(zhì)量問(wèn)題的數(shù)量和分布情況;

      37、根據(jù)每個(gè)問(wèn)題在源代碼中的具體發(fā)生位置、質(zhì)量問(wèn)題對(duì)應(yīng)的自然語(yǔ)言描述、質(zhì)量問(wèn)題的優(yōu)先級(jí)和統(tǒng)計(jì)圖表匯總生成代碼分析報(bào)告。

      38、有益效果:1、本發(fā)明通過(guò)將抽象語(yǔ)法樹(shù)ast建模為圖數(shù)據(jù),能夠精確表示代碼的語(yǔ)法結(jié)構(gòu),更好地理解代碼的邏輯和流向,捕捉代碼中的復(fù)雜結(jié)構(gòu)和語(yǔ)義關(guān)系;

      39、2、本發(fā)明可通過(guò)模型的訓(xùn)練,持續(xù)學(xué)習(xí)新的代碼示例和質(zhì)量問(wèn)題,不斷提升模型自身的檢測(cè)能力,適應(yīng)不同項(xiàng)目和代碼庫(kù)的需求;

      40、3、本發(fā)明采用圖卷積神經(jīng)網(wǎng)絡(luò)gcn能夠識(shí)別代碼中的質(zhì)量問(wèn)題,相比于傳統(tǒng)方法,能夠顯著降低誤報(bào)率;并且可以同時(shí)檢測(cè)多種類型的問(wèn)題,適用于大規(guī)模項(xiàng)目,更加高效。



      技術(shù)特征:

      1.一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,其特征在于,包括:

      2.根據(jù)權(quán)利要求1所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,其特征在于,用于采集源代碼的接口包括開(kāi)發(fā)環(huán)境接口、版本控制系統(tǒng)接口、代碼倉(cāng)庫(kù)訪問(wèn)接口和代碼提取接口。

      3.根據(jù)權(quán)利要求1所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,其特征在于,所述預(yù)處理包括格式化處理和移除代碼中的注釋內(nèi)容,所述格式化處理包括縮進(jìn)、換行、空格處理。

      4.根據(jù)權(quán)利要求1所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,其特征在于,每個(gè)節(jié)點(diǎn)vi檢測(cè)結(jié)果的計(jì)算方式如下:

      5.根據(jù)權(quán)利要求1所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法,其特征在于,所述步驟4具體包括:

      6.一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)設(shè)備,其特征在于,包括:

      7.根據(jù)權(quán)利要求6所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)設(shè)備,其特征在于,所述代碼采集模塊的接口包括開(kāi)發(fā)環(huán)境接口、版本控制系統(tǒng)接口、代碼倉(cāng)庫(kù)訪問(wèn)接口和代碼提取接口。

      8.根據(jù)權(quán)利要求6所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)設(shè)備,其特征在于,所述預(yù)處理包括格式化處理和移除代碼中的注釋內(nèi)容,所述格式化處理包括縮進(jìn)、換行、空格處理。

      9.根據(jù)權(quán)利要求6所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)設(shè)備,其特征在于,每個(gè)節(jié)點(diǎn)vi檢測(cè)結(jié)果的計(jì)算方式如下:

      10.根據(jù)權(quán)利要求6所述的一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)設(shè)備,其特征在于,所述分析包括生成模塊生成代碼分析報(bào)告的方式具體包括:


      技術(shù)總結(jié)
      本發(fā)明公開(kāi)了一種基于人工智能的代碼質(zhì)量自動(dòng)檢測(cè)方法及設(shè)備。該方法包括采集源代碼數(shù)據(jù);對(duì)所述源代碼數(shù)據(jù)的代碼格式進(jìn)行預(yù)處理,并根據(jù)標(biāo)準(zhǔn)化處理后的代碼生成抽象語(yǔ)法樹(shù),然后將所述抽象語(yǔ)法樹(shù)構(gòu)建為圖數(shù)據(jù);將構(gòu)建的圖數(shù)據(jù)輸入至訓(xùn)練合格的圖卷積神經(jīng)網(wǎng)絡(luò)中,以對(duì)代碼進(jìn)行質(zhì)量檢測(cè),并輸出每個(gè)節(jié)點(diǎn)的檢測(cè)結(jié)果;根據(jù)每個(gè)節(jié)點(diǎn)的檢測(cè)結(jié)果生成代碼分析報(bào)告。本發(fā)明能更好地理解代碼的邏輯和流向,捕捉代碼中的復(fù)雜結(jié)構(gòu)和語(yǔ)義關(guān)系,適應(yīng)不同項(xiàng)目和代碼庫(kù)的需求,能夠顯著降低誤報(bào)率;并且可以同時(shí)檢測(cè)多種類型的問(wèn)題,適用于大規(guī)模項(xiàng)目,更加高效。

      技術(shù)研發(fā)人員:劉志,黃陳
      受保護(hù)的技術(shù)使用者:江蘇蘇商銀行股份有限公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/10/10
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1