背景技術:
1、代碼或對等審查是在軟件開發期間經常利用的過程,其中開發中的源代碼由源代碼作者的一個或多個對等來審查。源代碼被經常檢查以發現錯誤,以確保源代碼符合最佳實踐標準并且發現缺陷,諸如競爭條件、惡意軟件、存儲器泄漏、緩沖器溢出、格式串利用等。代碼審查被使用于發現在軟件發布之前源代碼開發中可能已經被忽視的這些問題。
2、代碼審查經常是手動執行的,要求對等花費大量時間來理解源代碼程序并且審查源代碼。代碼審查要求對等理解源代碼程序的邏輯、功能、類型和其它因素。當手動執行代碼審查過程時,其受到人為錯誤的影響。對等審查方可能錯過源代碼中非常明顯的錯誤或浪費時間來審查和評論未出錯的源代碼。
技術實現思路
1、提供本
技術實現要素:
以便以簡化形式介紹將在下文的具體實施方式中進一步所描述的一些概念。本發明內容不旨在于標識所要求保護的主題的關鍵特征或必要特征,也不旨在于被使用于限制所要求保護的主題的范圍。
2、訓練具有塊交叉注意力模型的取回增強的神經變換器模型以在給予所提議的源代碼改變的情況下自動生成代碼審查評論并且聚集在語義上類似于所提議的源代碼改變的所取回的代碼審查評論。所提議的源代碼改變以代碼差異格式表示,該代碼差異格式示出了被提議給源代碼程序或片段的先前版本的代碼編輯。從存儲在非參數存儲器中的預先配置的歷史代碼審查評論的數據庫中取回所聚集的所取回的代碼審查評論。所取回的代碼審查評論與類似于所提議的源代碼的代碼編輯的代碼編輯相關聯。相似性基于所提議的源代碼改變的代碼編輯的編碼與關聯于歷史代碼審查評論的代碼編輯的編碼接近地匹配。
3、通過閱讀下文的具體實施方式和相關聯附圖的審查,這些和其它特征和優點將是清楚的。應當理解的是,前述的一般實施方式和下文的具體實施方式僅是說明性的,而不是限制所要求保護的方面。
1.一種系統,包括:
2.根據權利要求1所述的系統,其中所述一個或多個程序包括用以執行以下動作的指令:
3.根據權利要求2所述的系統,其中所述一個或多個程序包括用以執行以下動作的指令:
4.根據權利要求3所述的系統,其中與所取回的所述代碼審查評論相關聯的所述代碼編輯的所述編碼最接近于所述所提議的源代碼改變的所述編碼。
5.根據權利要求1所述的系統,其中所述一個或多個程序包括用以執行以下動作的指令:
6.根據權利要求5所述的系統,
7.根據權利要求6所述的系統,其中每個塊編碼和與每個代碼審查評論相關聯的每個編碼從相同的神經編碼器被生成。
8.根據權利要求1所述的系統,其中所述深度學習模型包括具有自注意力和交叉注意力的神經變換器模型。
9.一種計算機實現的方法,包括:
10.根據權利要求9所述的計算機實現的方法,還包括:
11.根據權利要求10所述的計算機實現的方法,其中所述神經編碼器是具有注意力的神經編碼器變換器模型。
12.根據權利要求10所述的計算機實現的方法,還包括:
13.根據權利要求9所述的計算機實現的方法,還包括:
14.根據權利要求13所述的計算機實現的方法,還包括:
15.根據權利要求9所述的計算機實現的方法,其中所述深度學習模型是具有注意力的神經變換器模型。