IBM 工程师正在基于 AI 工具摸索从旧版企业软件中提取价值的办法。
去年,IBM 演示了 AI 如何通过更新旧代码来执行简短的软件维护工作。当初,该公司又引入了基于 AI 的办法来从新编码旧的应用程序,这样它们就能够在当今的计算平台上运行。
AI 从新编写旧利用代码,让旧程序取得新利用
IBM 最新的打算被称为 Mono2Micro 和 Application Modernization Accelerator(AMA),为应用程序架构师提供了更新旧应用程序并从中获取新价值的新工具。
IBM 钻研核心的混合云服务主管 Nick Fuller 说,这些动作代表着人工智能朝着可能主动将用 COBOL 编写的程序主动转换为 Java 的方向迈进了一步。
Nick Fuller 正告说,这些最新的 AI 办法目前只能将非模块化单片程序的旧机器代码合成为独立的微服务。他示意,只管 AMA 工具包实际上是为现代化 COBOL 设计的,但在翻译编程语言时还须要再迈出一步,因为在这点上,它仅提供了现代化过程中的增量步骤。Fuller 补充说:“语言翻译对于人工智能来说是一个根本性的挑战,咱们正在致力使一些旧代码可能在古代软件语言中运行。”
与此同时,IBM 最新的人工智能工具提供了一些新的性能。在 Mono2Micro 的例子中,它首先剖析旧代码,以揭示应用程序架构师本人发现极其艰难和耗时的所有暗藏的连贯,比方底层业务逻辑中蕴含大量调用和相互连接的多个组件。
Mono2Micro 利用 AI 集群技术将类似的代码组合在一起,更分明地揭示了代码组是如何交互的。一旦 Mono2Micro 承受了代码,它就会动态地(在程序运行之前对其进行剖析)和动静地(在程序运行时对其进行剖析)剖析源代码和指标代码。
而后,该工具将基于 Java 的繁多程序及其相干业务逻辑和用户界面重构为微服务。这种将整体软件重构为具备特定性能的独立微服务的做法,最大限度地缩小了软件中存在的连贯,在不扭转内部行为的状况下扭转了应用程序的构造。
AMA 工具箱的目标是剖析和重构以更旧的语言(COBOL,PL / I)编写的旧应用程序。对于 AMA 工具包,应用对源代码的动态剖析以及对应用程序构造的了解,来创立代表旧应用程序的图形。当与深度学习办法联合应用时,这种基于图的办法有助于在 AMA 进行深度学习过程时保留数据。
AI 策略解解决机器学习要害挑战,实用于大量数据
IBM 的人工智能策略解决了机器学习的要害挑战,当数据输出是代码,性能是剖析: 数量和多重意义。遗留的、工作要害型的应用程序通常有数十万到数百万行代码。在这种背景下,通过嵌入的概念,将机器学习 (ML) 技术利用于如此大量的数据能够变得更加无效。
这些嵌入层示意一种将数据转换为数值的办法。嵌入的弱小之处在于它们将大量具备多种可能含意的代码映射到数值上。例如,通过应用“word”嵌入将天然人类语言翻译成数值时,就是这样做的。它也是在图形上下文中实现的,因为它波及到代码剖析。
Nick Fuller 说,“嵌入层是微小的,因为没有它们,您将很难使任何货色都靠近无效执行的机器学习零碎。”
他还补充到,在代码剖析方面,机器学习零碎通过复制应用程序的性能,更好地向重构的旧应用程序举荐微服务。Nick Fuller 指出,“一旦达到这一点,你就不是齐全自在了,然而基本上曾经实现了 70% 你想要失去的货色,也就是一个要害工作的应用程序,它被重形成一个微服务架构。”