AWS現在正式推出程序開發(fā)輔助服務CodeWhisperer,該服務在去年6月發(fā)布預覽版,經過一年多的改進加入多項新功能,像是提供發(fā)現和修復程序代碼漏洞的能力,還添加了基礎設施即程序代碼(Infrastructure as Code,IaC)支持,并且預覽Visual Studio集成功能。
CodeWhisperer是一個以機器學習技術為核心,并且利用開源存儲庫、Amazon自有存儲庫、API文件和論壇數十億行程序代碼訓練而成的程序開發(fā)輔助服務。CodeWhisperer會根據程序代碼和注解,依據開發(fā)者的程序編寫風格和變量名稱,提供程序代碼建議。CodeWhisperer預覽版支持的語言有Python、Java、JavaScript,開發(fā)者可選擇在熟悉的各種IDE上使用。
預覽版CodeWhisperer通過內置的安全掃描功能,能發(fā)現諸如暴露的憑證和日志注入等問題,而AWS現在發(fā)布的正式版CodeWhisperer加入漏洞緩解功能,進一步使用生成式人工智能來產生程序代碼建議,協(xié)助開發(fā)者修復已知的安全性和程序代碼品質問題。
在發(fā)現漏洞之后,CodeWhisperer便會根據用戶的程序代碼,提供專屬修復建議,開發(fā)者可以接受建議,快速修復該漏洞。目前新版中的安全掃描功能,除了之前的Java、Python、JavaScript,現在還添加支持TypeScript、C#、AWS CloudFormation、AWS CDK和HashiCorp Terraform,而漏洞緩解功能則是針對Java、Python和JavaScript程序代碼漏洞提供修復建議。
CodeWhisperer現在也支持基礎設施即程序代碼,強化開發(fā)者腳本編寫效率,開發(fā)者可將其用于AWS CloudFormation、AWS CDK和HashiCorp Terraform工具,以編寫基礎設施程序代碼,官方提到,由于CodeWhisperer支持多種基礎設施即程序代碼語言,因此可以促進不同團隊間的協(xié)作和一致性。
開發(fā)者現在已經可以于Visual Studio 2022中使用CodeWhisperer,獲取C#即進程序代碼建議。此外,新版本也讓開發(fā)者可以更負責任地編寫程序代碼,供開發(fā)者注記可能由公開可用程序代碼組合而成的程序代碼段落,并提供類似程序代碼的存儲庫URL和授權資訊(下圖)。
CodeWhisperer最近的更新也針對Git、npm、AWS CLI和Docker等命令行接口工具,添加即進程序代碼自動完成和內置文件(Inline Documentation)。CodeWhisperer也已經可以將自然語言翻譯成shell層程序代碼,以更直覺地方式使用操作命令行工具。