網路議題

IBM 借助人工智慧將 COBOL 程式碼轉換為 Java

IBM 運用人工智慧將 COBOL 程式碼轉換為 Java 背景 COBOL(Common Business Oriented Language)是最早使用的程式設計語言之一,可以追溯至 1959 年左右。這種語言具有出乎意料的持久力;根據 2022 年的一項調查,生產系統中使用的 COBOL 程式碼超 .... (往下繼續閱讀)

分享到 Facebook 分享到 Line 分享到 Twitter

文章目錄

IBM 借助人工智慧將 COBOL 程式碼轉換為 Java

IBM 運用人工智慧COBOL 程式碼轉換為 Java

背景

COBOL(Common Business Oriented Language)是最早使用的程式設計語言之一,可以追溯至 1959 年左右。這種語言具有出乎意料的持久力;根據 2022 年的一項調查,生產系統中使用的 COBOL 程式碼超過了 8000 億行,而 2017 年的估計數量為 2200 億行。但是 COBOL 以其艱澀而低效的語法而聞名。那為什麼不遷移到一種更新的語言呢?對於大型組織來說這往往是一項複雜且昂貴的提案,因為全球 COBOL 專家的數量相對較少。例如,澳大利亞聯邦銀行在 2012 年更換其核心 COBOL 平臺時,花費了五年時間,費用超過 7 億美元。

IBM 的解決方案

為了提出 COBOL 應用程式現代化的新解決方案,IBM 今天推出了 Code Assistant for IBM Z,該解決方案使用生成程式碼的人工智慧模型將 COBOL 程式碼轉換為 Java。預計在 2023 年第四季度正式推出的 Code Assistant for IBM Z 將在今年九月初的 IBM TechXchange 會議上進行試用。根據 IBM Research 首席科學家 Ruchir Puri 的說法,Code Assistant for IBM Z 旨在協助企業對其大型機系統進行重構,同時保持效能和安全性。Code Assistant 可以在本地配置或作為一項託管服務在雲端執行,它使用了一個名為 CodeNet 的生成程式碼模型,該模型能夠理解大約 80 種不同的程式設計語言,包括 COBOLJava。 Puri 在接受 TechCrunch 的電子郵件存取時表示:"IBM 建立了一個全新的、最先進的生成型程式碼人工智慧模型,以高度自然的方式將傳統的 COBOL 程式轉化為企業級 Java 程式碼。除了程式碼轉換之外,Code Assistant 還支援完整的應用程式現代化生命周期,並幫助開發人員在現代架構中理解、重構、轉化和取證轉換後的程式碼。"

CodeNet 模型的特點

Puri 表示 CodeNet 使用了 1.5 萬億個標記進行訓練,具有 200 億個引數。這個模型使用了一個大範圍的上下文視窗,包含了 32000 個標記,以“捕捉更廣泛的上下文”以實現“更高效的 COBOLJava 轉換”。其中引數表示模型從歷史訓練資料中學習到的部分,實質上定義了模型在解決問題上的技能,例如生成文字;而“標記”表示原始文字,例如單詞“fantastic”可由標記“fan”、“tas”和“tic”組成。現今已經有許多工具、應用程式和服務可將 COBOL 應用程式轉換為 Java 語法,其中有些完全是自動化的。Puri 承認這一點,但他認為 Code Assistant 採取了措施,不會犧牲 COBOL 的能力,同時實現降低成本和生成易於維護的程式碼,這一點與市場上的某些競爭產品不同。Puri 說道: "IBMIBM Z 建立了 Code Assistant,以使 COBOLJava 服務可以混合使用。如果系統的'理解'和'重構'功能建議某個應用程式的某個子服務應該保持在 COBOL 中,則會保持在該狀態,而其他子服務將轉換為 Java。"

評估與建議

然而這並不意味著 Code Assistant 毫無缺陷。斯坦福最近的一項研究發現,使用類似的程式碼生成人工智慧系統的軟體工程師更有可能在他們開發的應用程式中造成漏洞。的確,Puri 警告說,在將 Code Assistant 生成的程式碼部署之前,應該先由人工專家進行審查。Puri 說:"像任何人工智慧系統一樣,企業的 COBOL 應用程式可能存在 Code Assistant for IBM Z 尚未掌握的獨特使用模式。因此透過使用最新的漏洞掃描工具對程式碼進行掃描,以確保程式碼的安全性是至關重要的。"儘管存在風險,毫無疑問,IBM 將像 Code Assistant 這樣的工具視為其未來增長的重要元件。今天IBM 的大多數大型機客戶執行著 COBOL,其中主要是金融和政府部門的客戶。雖然 IBM 的大型機部門仍然是其整體業務的重要組成部分,但該公司將大型機視為廣泛的、有利可圖的混合運算環境的橋樑。此外 IBM 還希望在生成程式碼的人工智慧工具領域有所作為,並力圖與 GitHub Copilot 和 Amazon CodeWhisperer 等應用競爭。今年五月,IBM 在其 Watsonx 人工智慧服務中推出了 fm.model.code,該服務支援 Watson Code Assistant,使開發人員可以使用純英文提示在包括紅帽 Ansible Lightspeed 在內的程式中生成程式碼。
Codetransformation-IBM,人工智慧,COBOL,Java,程式碼轉換
程宇肖

程宇肖

Reporter

大家好!我是程宇肖,我對於科技的發展和應用有著濃厚的興趣,並致力於將最新的科技趨勢和創新帶給大家。科技領域的變化速度驚人,每天都有令人興奮的新發現和突破。作為一名部落格作者,我將帶領大家深入探索科技的奧秘和應用的無限可能。