COBOL于1959年首次发布,是现存最古老的编程语言之一,至今仍在多个行业的关键程序中广泛使用。2022年2月的一项调查发现,每天仍有775亿到8500亿行COBOL代码在活跃使用。然而,虽然许多组织仍然依赖COBOL,但COBOL开发人员的数量在持续下降。更令人担忧的是,随着现有COBOL开发人员的退休和调动,关于如何构造和构造COBOL应用程序的实际知识也可能会逐渐丢失。为了应对这一挑战,初创公司PhaseChangeSoftware正在开发一种名为COBOLColleague的新型人工智能驱动工具。PhaseChangeSoftware总裁SteveBrothers表示,COBOL不会很快消失;并向外媒VentureBeat表示,缺乏COBOL开发者并不是最根本的问题。“真正的根本问题是了解应用程序的作用,因为要有效地修改代码,您需要知道代码的作用。”修改代码的能力还不够,他补充说,还需要有关代码的知识;缺乏对代码的了解是许多编程语言中的一个问题,尤其是在已经60年代的COBOL中。严肃的。PhaseChangeCOBOLColleague软件采用COBOL源代码,并使用符号机器学习和静态分析技术将代码转换为因果模型。然后,该模型可以帮助组织理解和维护代码。COBOLColleague最初可用于在Linux上运行的本地环境中进行部署。值得一提的是,市面上有很多开发工具都声称可以利用AI帮助开发者提高效率,其中就包括最近流行的GitHubCopilot服务。对此,Brothers表示,他们正在构建的工具与GitHubCopilot有很大不同。Copilot旨在帮助开发人员编写代码,但它并不能帮助开发人员在编写代码后维护代码。“我们从事的是更改代码,而不是创建代码,这是最大的区别之一。”PhaseChangeSoftware没有为其AI工具采用典型的机器学习方法,这需要对数据集进行培训。原因是当涉及到源代码时,很难获得足够大的源代码库来进行训练。另一个挑战是路径爆炸。在代码开发中,一个操作可以通过使用不同的“else”函数遵循任意数量的不同路径。使用“else”函数,动作可以根据不同的变量或条件而改变。对于训练数据路径爆炸的可能性,Brothers指出,排列的数量是一个天文数字,因此对于典型的机器学习训练模型来说是不可行的。“我们使用围绕符号机器学习的AI技术解决了这个问题,因此没有训练数据集;我们工具的唯一输入是源代码”。符号人工智能的学习方式更接近人类因果推理世界的方式。Brothers解释说,代码中的行为是因果关系,具有输入和输出。虽然COBOL是PhaseChange的首要目标,但该公司表示计划在未来扩展以支持其他编程语言。“软件开发人员花费80%的时间试图弄清楚他们需要在何处更改代码。无论使用何种编程语言,执行此操作的步骤都是相同的,这就是我们正在自动化的内容。”本文转自OSCHINA文章标题:使用AI帮助记录COBOL代码,防止相关知识丢失本文地址:https://www.oschina.net/news/209014/ai-cobol-code
