AWS现在正式推出程序开发辅助服务CodeWhisperer,该服务在去年6月发布预览版,经过一年多的改进加入多项新功能,像是提供发现和修复程序代码漏洞的能力,还添加了基础设施即程序代码(Infrastructure as Code,IaC)支持,并且预览Visual Studio集成功能。
CodeWhisperer是一个以机器学习技术为核心,并且利用开源存储库、Amazon自有存储库、API文件和论坛数十亿行程序代码训练而成的程序开发辅助服务。CodeWhisperer会根据程序代码和注解,依据开发者的程序编写风格和变量名称,提供程序代码建议。CodeWhisperer预览版支持的语言有Python、Java、JavaScript,开发者可选择在熟悉的各种IDE上使用。
预览版CodeWhisperer通过内置的安全扫描功能,能发现诸如暴露的凭证和日志注入等问题,而AWS现在发布的正式版CodeWhisperer加入漏洞缓解功能,进一步使用生成式人工智能来产生程序代码建议,协助开发者修复已知的安全性和程序代码品质问题。
在发现漏洞之后,CodeWhisperer便会根据用户的程序代码,提供专属修复建议,开发者可以接受建议,快速修复该漏洞。目前新版中的安全扫描功能,除了之前的Java、Python、JavaScript,现在还添加支持TypeScript、C#、AWS CloudFormation、AWS CDK和HashiCorp Terraform,而漏洞缓解功能则是针对Java、Python和JavaScript程序代码漏洞提供修复建议。
CodeWhisperer现在也支持基础设施即程序代码,强化开发者脚本编写效率,开发者可将其用于AWS CloudFormation、AWS CDK和HashiCorp Terraform工具,以编写基础设施程序代码,官方提到,由于CodeWhisperer支持多种基础设施即程序代码语言,因此可以促进不同团队间的协作和一致性。
开发者现在已经可以于Visual Studio 2022中使用CodeWhisperer,获取C#即进程序代码建议。此外,新版本也让开发者可以更负责任地编写程序代码,供开发者注记可能由公开可用程序代码组合而成的程序代码段落,并提供类似程序代码的存储库URL和授权资讯(下图)。
CodeWhisperer最近的更新也针对Git、npm、AWS CLI和Docker等命令行接口工具,添加即进程序代码自动完成和内置文件(Inline Documentation)。CodeWhisperer也已经可以将自然语言翻译成shell层程序代码,以更直觉地方式使用操作命令行工具。