可自动生成代码,5款基于AI的开发工具

作者: Sandra Parker 2019-11-05 18:50:37

 如今,对机器学习潜力感兴趣的程序员都在讨论,如何使用人工智能和基于人工智能的软件开发工具构建应用程序。例如PyTorch和TensorFlow之类的解决方案。

除此之外,机器学习技术正以另一种有趣的方式影响着编程世界,就是那些采用机器学习算法来简化开发人员工作的最新软件开发解决方案。在本文中,我们将重点介绍五个这样的工具。其中三个已经在面世,而另外两个仍处于测试阶段。如果您想知道如何利用机器学习来更快更有效地进行软件开发,可以看看这些解决方案。

  Kite–面向开发人员的超级机器学习工具

该工具主要充当代码完成者。借助机器学习,它可以轻松地实时检测您正在输入的代码,并在您键入时将其完成。往往被视为开发人员的优秀工具之一,它可与许多流行的代码编辑解决方案配合使用。

Kite使用从GitHub获取的工作模型。GitHub代码(所有人都可以使用)用于创建充当Kite模型主干的摘要。这样,该工具可以根据上下文和目的而不只是文本本身,去建议甚至自动完成代码。

Kite刚发布时只能在Mac和Windows上访问。今天,它也可以在Linux上使用。该工具的缺点是目前仅适用于Python。但是,它也可以与Go一起使用。

两年前,开源代码程序员指控Kite处理用户数据不当,并修改了一个流行的Atom插件来自动完成代码。不过,Kite团队此后解决了这两个问题。最近,Kite团队宣布该工具现在可以在用户PC内本地执行所有功能,而不是像以前那样在云中执行。

Codota

该工具非常类似于Kite,因为它使用机器学习来生成自动完成代码。它还使用了由衍生自公开代码的语法树而形成的类型。但是,它确实与Kite有一些差异。

Codota是针对Kotlin和Java语言构建的。它是基于云的解决方案,可自动生成智能预测。值得注意的是,Codota团队表示用户数据未传输到他们的服务器,当需要根据范围和上下文预测代码时,只传输来自编辑文档的有限的加密信息。

Linux,Windows和Mac设备都支持Codota。但是,编辑器模式仅适用于Android Studio,Eclipse和IntelliJ,当您查看该工具所支持的语言时,就可以理解其中的原因了。除此之外,Codota团队还提到其他编程语言的版本正在开发中,预计第一个将发布的版本是JavaScript。

该工具有一个免费版本,它仅根据可公开访问的代码生成自动建议。但是,付费用户也可以使用私人代码。

DeepCode

DeepCode也是当下比较流行的用于软件开发的机器学习工具。它的主要功能是检查代码并突出显示可能容易受到安全漏洞破坏的部分。与之前的两个工具非常相似,DeepCode从公共存储位置评估代码以识别相似之处。相比之下,该工具还利用模式来查找易受攻击的区域。

DeepCode实现了一种方法,可以在达到临界安全级别之前分析用户输入处理。因此,当任何数据在没有安全验证或清除的情况下从一个点移动到另一个点时,该工具会将其标记为受污染的,并向您发出警告。该工具可以标记的问题包括跨网站脚本、SQL注入威胁、远程代码执行以及路径遍历攻击等。

您可以在热门的存储库(例如Bitbucket甚至GitHub)上找到使用DeepCode完成的分析。这些报告是免费的,可用于开源项目或只需少量开发人员的私人作品。您还可以使用DeepCode来分析您的本地代码托管,但需要付费。

PROSE

这个框架由Microsoft创建,可以使用示例生成代码。PROSE代表“使用示例进行编程”(Program Synthesis using Examples),并且可以利用它来创建其他编程工具,而不是直接将其用作预测解决方案。开发人员可以使用PROSE的方式包括通过示例进行文本转换、通过预测进行文件操作以及从文本文件中提取数据。

Pix2code

Pix2code仍处于试验阶段,它是一种创新工具,可以将图形用户界面的屏幕截图转换为计算机代码。通过使用深度学习技术,该软件可以分析三种不同格式的GUI:iOS,Android和HTML / CSS。但是,由于该工具仍处于测试阶段,因此只能将其用于学习或用作其他软件开发的基础。

使用AI工具进行软件开发的好处

如我们所见,这些创新工具可以辅助代码完成、安全措施甚至代码生成。机器学习提供了巨大的可能性,并且可以快速有效地创建软件,因此上述工具是值得研究的。当然我们还是得说——如果没有经验丰富的软件开发人员团队,再好的工具都是无用的。当涉及到节省开发时间时,这些工具是必不可少的,但初始规划过程和测试、QA以及最终的部署过程,仍需要有经验的开发人员。

代码 开发 工具
上一篇:SAS表示人工智能融入物联网计划将使企业超越竞争对手 下一篇:百度飞桨全新发布四大产业应用开发套件 创新Master模式 鼎力相助产业智能升级
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

支持机器学习的8个数据仓库

对于规模非常大的数据集来说,理想的情况是在数据已经存在的地方建立模型,这样就不需要导出大量的数据。有一些数据仓库在一定程度上支持这一点。而随之而来的问题是:哪些数据仓库支持机器学习?它们是如何做到的?以下按字母排序对这些数据仓库进行分析和阐述。

李睿 ·  4天前
AI系统安全测试的自动化工具

Counterfit 是微软开发的一个开源工具,用于对企业或组织的人工智能系统进行自动化的安全测试。

Travis ·  2021-05-08 09:00:53
谷歌大脑最新操作玩“复古”:不用卷积注意力,图像分类接近SOTA

这个架构名为MLP-Mixer,采用两种不同类型的MLP层,可以看做是一个特殊的CNN,使用 1×1卷积进行通道混合(按位操作),同时全感受野和参数共享的的单通道深度卷积进行字符混合(跨位操作)。

佚名 ·  2021-05-06 15:55:01
机器学习新算法更好描述量子系统模型

近日,英国布里斯托大学量子工程技术实验室的研究人员在《自然·物理学》杂志上发表一篇新论文,解释了一种通过充当自主代理,使用机器学习对哈密顿模型进行逆向工程的算法。这种新算法对量子系统基本物理原理提供了宝贵见解,有望带来量子计算和传感领域的重大进步,并有可能翻开科学研究的新篇章。

张佳欣 ·  2021-04-30 15:12:07
谷歌实现2种新的强化学习算法,“比肩”DQN,泛化性能更佳

来自Google Research的研究人员,证明可以使用图表示 (graph representation)和AutoML的优化技术,来学习新的、可解析和可推广的RL算法!

丰色 ·  2021-04-29 14:53:14
厨师与AI完美搭配,一起刺激你的味蕾

最近,索尼人工智能团队和韩国高丽大学联合开发了一种名为FlavorGraph的人工智能映射工具,该工具可以推荐互补的配料,帮助厨师们烹饪菜肴。

科技行者 ·  2021-04-21 22:54:49
如何在10分钟内创建一个多语言聊天机器人

聊天机器人是一种可以自动地与人类进行对话并简化组织与客户业务互动的工具。聊天机器人可以通过语音或书面语言理解并响应人类提出的问题。它可以用于自动解答常见问题、捕获潜在客户、客户虚拟助理以及其他任务。

李睿 ·  2021-04-21 09:00:00
应对远程办公带来的企业文化挑战,AI来修补

参与远程办公的员工们,敬业度与幸福感究竟如何?您的远程团队是否具备推动业务成功的基本驱动力?我们自己对于企业文化的理解,是否与现实情况一致?人工智能(AI)技术正帮助我们找出这些问题的答案。

科技行者 ·  2021-04-06 22:40:06
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载