AI News HubLIVE
站內改寫1 分鐘閱讀

AI生成程式碼在真實倉庫中的大規模實證研究

一項大規模研究發現,在真實軟體倉庫中,AI輔助生成的程式碼與人類編寫程式碼在程式碼級指標上差異較小,但在提交大小、穩定性和程式碼重複率等方面存在新特徵。

來源Hacker News AI作者: softwaredoug

大型語言模型(LLM)正在徹底改變軟體工程領域,使開發者能夠生成從簡單程式碼片段到完整專案的內容。隨著AI輔助程式碼越來越多地整合到真實世界的系統中,瞭解其特性和影響變得至關重要。然而,現有的研究大多侷限於實驗室環境,使用合成基準和簡單任務,且覆蓋的指標有限。AI輔助程式碼在真實程式碼庫中的實際表現以及它與人類編寫程式碼之間的差異仍然不清楚。

為了填補這一空白,研究人員進行了一項大規模測量研究,首次在真實倉庫中對比了AI輔助程式碼與人類編寫的程式碼。他們研究了一套全面的指標集,包括程式碼級方面(如結構和圖複雜度、編碼風格、安全質量等)和提交級特徵(如提交大小、頻率、提交後穩定性等)。研究結果提供了新的發現:一些結果與實驗室環境中的觀察相反——例如,在真實世界中,AI與人類在程式碼級指標上的差異很小,而不是更顯著;另一些結果以更細緻的觀察擴充套件了先前的研究,如不同程式語言之間安全質量的差異;還有更多結果是首次提出的,例如程式碼重複率、提交大小和穩定性等。

基於這些全面的真實世界結果,研究還討論了AI輔助程式設計的實際意義。例如,AI生成的程式碼在整體上與人類程式碼表現相似,但在程式碼重複率等具體指標上可能更高,這提示開發者需要關注程式碼複用帶來的維護問題。此外,AI輔助的提交通常規模更大,但後續穩定性與人類提交相當。這些發現為AI程式設計工具的最佳化和最佳實踐提供了重要參考,同時也強調了在評估AI程式碼時考慮真實環境差異的必要性。