亚马逊宣布了CodeGuru的普遍可用性,这是一个基于ai的开发工具,可以提供提高代码的质量。在拉斯维加斯举行的亚马逊网络服务(AWS)re:Invent 2019大会上首次发布了这款应用,从今天开始,它可以根据用户使用情况进行定价。
在将新代码添加到现有的应用程序代码库之前,软件团队执行代码检查,以检查逻辑、语法和风格。但要找到足够多的开发人员来执行部署后的审查和监控应用程序常常是一个挑战。另外,也不能保证这些开发人员不会遗漏问题,从而导致错误和性能问题。
CodeGuru表面上解决了这个问题,它使用了一个集成了现有集成开发环境(ide)的组件,并利用AI对超过10,000个最流行的开源项目进行了培训,以便在编写代码时对其进行评估。在出现问题的地方,CodeGuru会提供人类可读的注释,解释问题是什么,并建议潜在的补救措施,它还会通过创建一个考虑延迟和处理器利用率等因素的概要文件,找出效率最低和效率最低的代码行。
这是一个两部分的系统。CodeGuru评论家使用规则挖掘和监督机器学习模型检测偏离最佳实践使用AWS api和sdk,萎靡不振的常见问题,可能导致生产问题,如发现丢失的分页,错误处理和批处理操作,使用类不是线程安全的。开发者像往常一样将他们的代码提交到他们选择的存储库中(例如GitHub, GitHub Enterprise, Bitbucket Cloud和AWS CodeCommit),并添加评审员作为代码评审员之一。然后,Reviewer会分析存储库中现有的代码库,识别错误和问题,并通过打开一个pull请求为连续的代码复查创建一个基线。该服务还提供了一个指示板,用于列出所有代码审查的信息,反映从开发人员那里得到的反馈。
至于CodeGuru Profiler,它提供了一些具体的建议,比如过多地重新创建昂贵的对象、过多地反序列化、使用低效的库和过多的日志记录。用户在应用程序中安装一个代理,该代理会观察应用程序的运行时间,并对应用程序进行概要分析,以检测代码质量问题(以及延迟和CPU使用的细节)。然后,Profiler使用机器学习来自动识别最影响延迟和CPU使用的代码和异常行为。信息集中在一个概要文件中,显示效率最低的代码区域。此概要文件包括关于开发人员如何修复问题以提高性能的建议,还估计了继续运行低效代码的成本。
亚马逊表示,编码AWS最佳实践的CodeGuru已经被内部用于优化8万个应用程序,从而节省了数千万美元。事实上,Amazon声称一些团队能够在一年内将处理器利用率降低325%,节省39%。
CodeGuru现在在美国东部(弗吉尼亚州)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、欧盟(爱尔兰)、欧盟(伦敦)、欧盟(巴黎)、欧盟(斯德哥尔摩)、亚太地区(新加坡)、亚太地区(悉尼)和亚太地区(东京)均可使用,未来几个月还将在其他地区提供。早期的用户包括Atlassian,云技术咨询公司EagleDream Technologies,企业软件开发商DevFactory,公寓评论网站运营商Renga, Inc.,以及计划启动YouCanBook.me。