人工智能代碼審查平臺(tái)DeepCode方面宣布,將為C 和 C ++ 添加基于 AI 的靜態(tài)代碼分析支持。
DeepCode AI 團(tuán)隊(duì)在發(fā)布的文章中寫(xiě)道:“C 和 C ++ 在接近硬件的軟件領(lǐng)域(例如操作系統(tǒng)或具有高性能甚至實(shí)時(shí)性的軟件)中占主導(dǎo)地位。首選這兩種語(yǔ)言,是因?yàn)樗鼈兲峁┝撕艽蟮淖杂啥群涂刂屏?。且這兩種語(yǔ)言在軟件開(kāi)發(fā)領(lǐng)域占據(jù)了很獨(dú)特的地位,因此就算是很小的錯(cuò)誤也會(huì)產(chǎn)生很大的影響。”
C 和 C ++ 的靜態(tài)代碼分析是一個(gè)充滿(mǎn)挑戰(zhàn)的領(lǐng)域。據(jù)透露,DeepCode 花了大約三個(gè)月的時(shí)間來(lái)添加對(duì) C 和 C ++ 的支持。DeepCode 工程師 Jan Eberhardt稱(chēng):“我們認(rèn)為 C ++ 是命令式語(yǔ)言的特例,它具有所有底層功能,例如內(nèi)存管理、引用、指針等。就其他任何“常規(guī)”命令式編程語(yǔ)言來(lái)說(shuō),我們?cè)谖覀兊闹赶蚝皖?lèi)型狀態(tài)分析中不必進(jìn)行任何更改。并且針對(duì)其他任何語(yǔ)言,我們預(yù)計(jì)實(shí)施時(shí)間約為一個(gè)月。”
目前,除了 C 和 C ++之外,DeepCode已提供了對(duì) Java、Python、JavaScript 和 TypeScript的支持。