当前位置: 首页 > 科技观察

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

时间:2023-03-18 00:03:25 科技观察

今天,对机器学习的潜力感兴趣的程序员正在讨论如何使用AI和基于AI的软件开发工具构建应用程序。示例包括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。但是,编辑器模式仅适用于AndroidStudio、Eclipse和IntelliJ,查看该工具支持的语言就明白为什么了。除此之外,Codota团队还提到其他编程语言的版本正在开发中,预计第一个发布的版本是JavaScript。  此工具有一个免费版本,可以仅根据可公开访问的代码生成自动建议。但是,付费用户也可以使用私人代码。  DeepCode  DeepCode也是一种流行的软件开发机器学习工具。它的主要功能是检查代码并突出显示可能存在安全漏洞的部分。与前两个工具非常相似,DeepCode评估来自公共存储位置的代码以识别相似性。相比之下,该工具还利用模式来查找易受攻击的区域。  DeepCode实现了一种在达到临界安全级别之前分析用户输入处理的方法。因此,当任何数据在没有安全验证或卫生的情况下从一个点移动到另一个点时,该工具会将其标记为已污染并警告您。该工具可以标记的问题包括跨站点脚本、SQL注入威胁、远程代码执行和路径遍历攻击等。  您可以在流行的存储库(例如Bitbucket甚至GitHub)上找到使用DeepCode完成的分析。这些报告是免费的,可用于开源项目或少数开发人员的私人工作。您还可以付费使用DeepCode来分析您的本地代码托管。  PROSE  这个框架是由微软创建的,用于使用示例生成代码。PROSE代表“使用示例的程序综合”(ProgramSynthesisusingExamples),它可以被用来创建其他编程工具,而不是直接将其用作预测解决方案。开发人员可以使用PROSE的方式包括通过示例进行文本转换、通过预测进行文件操作以及从文本文件中提取数据。  Pix2code  Pix2code,仍处于实验阶段,是一种创新工具,可将图形用户界面的屏幕截图转换为计算机代码。通过使用深度学习技术,该软件可以分析三种不同格式的GUI:iOS、Android和HTML/CSS。但是,由于该工具仍处于测试阶段,因此只能用于学习或作为其他软件开发的基础。  使用人工智能工具进行软件开发的好处  正如我们所见,这些创新工具可以协助代码补全、安全措施甚至代码生成。机器学习提供了巨大的可能性和快速高效地创建软件的能力,因此上述工具值得研究。当然我们还是要说——没有经验丰富的软件开发团队,再好的工具也是白搭。这些工具在节省开发时间方面必不可少,但最初的规划过程和测试、QA以及最终的部署仍然需要经验丰富的开发人员。