5种机器学习工具可简化软件开发

关于使用机器学习的开发人员的大多数讨论都围绕创建基于AI的应用程序以及用于创建它们的工具: TensorFlow , PyTorch , Scikit-learn 等 。

但是,机器学习对软件开发产生了另一种影响:通过使用机器学习技术的新开发工具,可以使编程更容易,更高效。 这是五个项目-三个商业项目,两个实验项目,这些项目使机器学习在开发过程中对开发人员起作用。

[理解机器学习的意义: 人工智能,机器学习和深度学习:您需要知道的一切 。 | 机器学习的解释 。 | 机器学习算法进行了解释 。 | 深度学习解释了 。 | 通过InfoWorld大数据和分析报告时事通讯深入了解分析和大数据。 ]

风筝

Kite是一个代码完成工具,可用于大多数主要的代码编辑器,它使用机器学习技术在键入代码时填写代码 。

Kite使用的机器学习模型是通过在GitHub上获取公开可用的代码,从中获得抽象的语法树并将其用作模型的基础来创建的。 根据Kite的说法,这允许自动建议和自动完成可以从代码的上下文和意图中获得,而不仅仅是文本。

目前,Kite仅适用于Python开发人员,但Go支持正在开发中。 虽然Kite最初仅适用于Windows和MacOS用户,但现在它也支持Linux。

2017年,Kite 在处理用户数据和修改Atom的软件包 方面引起了开源社区的关注 。 该公司解决了这两个问题,声称Kite不再将用户代码发送回其云服务器 ,而是在本地执行所有处理,并明确承认软件包是Kite赞助的软件包。

科多塔

Codota在外观上与Kite类似。 它使用经过Java和Kotlin代码训练的机器学习模型,在您键入时建议自动填充这些语言。 与Kite一样,Codota将代码的语法树(不仅仅是文本)用作构建模型的数据。

与更新后的风筝不同,Codota使用基于云的服务来生成和提供预测。 但是,根据该服务的文档 ,Codota不会将用户代码发送到Codota服务器,而只会“从当前编辑的文件中提供最少的上下文信息,这使我们能够根据当前的本地范围进行预测。”

Codota可用于Windows,MacOS和Linux,但编辑器支持仅限于IntelliJ,Android Studio和Eclipse(Luna或更高版本)。 考虑到它专注于Java和Kotlin语言,这是有道理的。 该公司指出,正在支持其他语言,其中JavaScript是第一批支持的语言。 (现已提供对WebStorm(JetBrains JavaScript IDE)的测试版支持。)

Codota的免费版本使用根据免费代码创建的预测。 企业版 (按要求定价)可以使用私有代码存储库进行培训。

深度密码

DeepCode执行AI指导的自动代码审查,以检测潜在的安全漏洞。 像Kite和Codota一样,DeepCode会分析公共存储库中可用的代码以寻找常见的模式。 但是DeepCode使用这些模式来识别安全漏洞。

DeepCode专注于“污点分析”,该分析确定在用户输入到达任何安全关键点之前如何对其进行处理。 直接从用户输入到SQL查询的数据,如果没有验证传递的安全性,则被视为“污染”并引发警报。

DeepCode声称要标记的严重错误包括Web应用程序中常见的安全问题:跨站点脚本编写,SQL注入攻击,远程代码执行和路径遍历攻击。

DeepCode的分析可用于GitHub和Bitbucket存储库,对于开源项目或最多包含30个开发人员的私人项目,它们无需花费任何费用。 DeepCode也可用于本地代码托管(例如GitHub Enterprise)的扫描,且价格仅应要求提供。

微软PROSE

PROSE是“使用示例进行程序合成”的首字母缩写。 此Microsoft项目是一个SDK,用于从示例输入和输出生成代码。 因此,PROSE是可用于构建预测编码工具的工具包,而不是预测编码工具本身。

潜在的PROSE应用程序包括通过示例转换文本(此实现的一种实现是Microsoft自己的Excel中的“ Flash Fill”功能),从文本文件中提取数据(例如,日志分析)以及预测性文件操作(例如,通过示例将文本拆分为列) )。

Pix2code

Pix2code的前提听起来像科幻小说。 向其提供图形用户界面的屏幕截图,Pix2code将生成呈现该GUI的代码。 Pix2code使用深度学习模型,并在该软件随附的数据集上进行训练,以Android XML,iOS Storyboard和HTML / CSS格式生成GUI。 Pix2code是一个实验性研究项目(“仅供教育目的共享”),因此完成的所有工作都需要将该项目用作进一步开发的基础。

From: https://www.infoworld.com/article/3410559/5-machine-learning-tools-to-ease-software-development.html

文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树首页概览11141 人正在系统学习中 相关资源:优优-群化软件5.6.rar-互联网文档类资源-CSDN文库

来源:cxw9087

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月18日
下一篇 2020年4月18日

相关推荐