用 AI 帮助记录 COBOL 代码,防止相关知识丢失

1959 年首次发布的 COBOL 是现存最古老的编程语言之一,目前仍广泛应用于多个行业的关键程序之中。2022 年 2 月的一项调查发现,每天仍有 775 亿至 8500 亿行 COBOL 代码在活跃地使用。

然而,尽管许多组织尚依赖 COBOL,但 COBOL 开发人员的数量仍在持续减少。更令人担忧的是,当现有的 COBOL 开发人员退休和转移时,有关如何构建和构建 COBOL 应用程序的实际知识也可能会逐渐丢失。为了应对这一挑战,初创公司 Phase Change Software 正在开发的一种名为 COBOL Colleague 的新型 AI 驱动工具。

Phase Change Software 总裁 Steve Brothers 称,COBOL 不会很快消失;并向外媒 VentureBeat 表示,COBOL 开发人员的欠缺并不是最根本的问题。“真正的潜在问题是了解应用程序的功能,因为要有效地修改代码,你需要了解代码的功能”。他补充称,仅仅拥有修改代码的能力是不够的,还需要的是关于代码的知识;相关代码知识的缺失是许多编程语言中都存在的一个问题,但对于已经 60 多岁的 COBOL 来说尤其严重。

Phase Change COBOL Colleague 软件采用了 COBOL 源代码,并使用符号机器学习和静态分析技术将代码转换为因果模型。然后,该模型可以帮助组织理解和维护代码。COBOL Colleague 最初可用于在 Linux 上运行的 on-premises 环境中部署。

值得一提的是,当下市场中声称使用 AI 来帮助开发人员提高效率的开发工具不在少数,其中就包括近期热度颇高的 GitHub Copilot service。对此,Brothers 则表示,他们正在构建的工具与 GitHub Copilot 非常不同。Copilot 旨在帮助开发人员编写代码,但它并不能帮助开发人员在编写代码后对其进行维护。“我们从事的是改变代码的业务,而不是创建代码的业务,这是最大的不同之一”。

Phase Change Software 没有为他们这一 AI 工具采用典型的机器学习方法,即需要在数据集上进行训练。原因在于,当涉及到源代码时,想要获得足够大的源代码存储库以便能够进行训练并不容易。

另一个挑战是路径爆炸。在代码开发中,一个操作可以通过使用不同的“else”函数沿着任意数量的不同路径进行。使用“else”函数,操作可以根据不同的变量或条件而改变。而对于训练数据路径爆炸的可能性,Brothers 指出,排列后的数量就是一个天文数字,因此对于典型的机器学习训练模型来说是不可行的。

“我们用围绕符号机器学习的人工智能技术解决了这个问题,所以没有训练数据集;我们工具的唯一输入是源代码”。符号人工智能(Symbolic AI)就是以一种更接近人类如何以因果方式推理世界的方法来学习。Brothers 解释道,代码中的行为是因果关系,有输入和输出。

虽然 COBOL 是 Phase Change 的第一个目标,但该公司表示,计划以后将继续扩展以支持其他编程语言。“软件开发人员花费 80% 的时间试图找出他们需要在代码中进行修改的位置。无论是哪种编程语言如何,执行此操作的步骤都是相同的,这就是我们正在实现的自动化。”

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/209014/ai-cobol-code

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。