AWS程序代码导师Amazon CodeGuru开始支持Python

AWS发布程序代码导师Amazon CodeGuru更新,除了开始支持Python之外,也开始提供安全漏洞与内存使用分析。Amazon CodeGuru是AWS在去年发布,可自动审查程序代码的服务,其包含用于静态分析的CodeGuru Reviewer,以及动态分析的CodeGuru Profiler。

Reviewer会使用程序分析以及机器学习技术,侦测程序代码中潜在的漏洞,并且提供改善建议,而Profiler则会从即时运行的应用程序中,收集Runtime性能资料,并且以可视化的方式呈现结果,同时提供建议,供开发者微调应用程序性能。

CodeGuru Reviewer以及CodeGuru Profiler现在支持Python,Reviewer能够从并行性、数据结构和控制流程等部分,提供改进Python应用程序程序代码的建议,而且现在Profiler也可以从Python应用程序收集Runtime性能资料,掌握程序代码在CPU上执行的方式,以及消耗的时间,让开发者可以对应用程序中,执行成本最高的程序代码进行优化,这不仅能够改善应用程序性能,还可以调校工作负载,降低基础设施的花费。

AWS提到,开发者有两种应用CodeGuru审查Python程序代码的方法,分别是在开发者创建拉取请求时,自动进行分析,或是手动创建存储库分析,针对一个分支中的所有程序代码进行分析。

而CodeGuru Reviewer还加入了安全侦测器,可以自动推理分析所有程序代码路径,深入Java程序代码寻找潜在的安全漏洞,甚至是横跨多个方法或是多个文件的操作串行安全问题,都能被侦测器抓出来。AWS提到,安全侦测器还可以识别10大开放网页应用程序安全项目类别中的安全漏洞,像是弱散列加密等。当安全侦测器发现问题,可以提供建议和补救措施,以AWS API的安全最佳实践,改善程序代码品质。

另外,对在JVM上执行的应用程序,CodeGuru Profiler现在可以显示堆(Heap)摘要,提供单位时间内的内存留存查看图,关注整体内存使用量以及每种对象类型的数量,Profiler会在时间轴上呈现这些指标,用户可以简单地掌握每种对象类型使用内存的趋势以及高峰。官方提到,这项新功能让开发者更容易发现内存泄露,并且优化应用程序的内存使用量。