IBM taps AI to translate COBOL code to Java

ภาษา COBOL หรือ Common Business Oriented Language เป็นหนึ่งในภาษาการเขียนโปรแกรมที่เก่าแก่ที่สุดที่มีการใช้งาน ย้อนหลังไปถึงปี 1959 มันมีพลังในการคงอยู่อย่างน่าประหลาดใจ จากการสำรวจในปี 2565 พบว่ามีบรรทัดภาษาโคบอลมากกว่า 800 พันล้านบรรทัด ที่ใช้งานบนระบบการผลิต เพิ่มขึ้นจากประมาณ 220 พันล้านในปี 2560

COBOL, or Common Business Oriented Language, is one of the oldest programming languages in use, dating back to around 1959. It’s had surprising staying power; according to a 2022 survey, there’s over 800 billion lines of COBOL in use on production systems, up from an estimated 220 billion in 2017.

IBM ใช้เครื่องมือ AI เพื่อแปลโค้ด COBOL เป็น Java

ภาษา COBOL หรือ Common Business Oriented Language เป็นหนึ่งในภาษาการเขียนโปรแกรมที่เก่าแก่ที่สุดที่มีการใช้งาน ย้อนหลังไปถึงปี 1959 มันมีพลังในการคงอยู่อย่างน่าประหลาดใจ จากการสำรวจในปี 2565 พบว่ามีบรรทัดภาษาโคบอลมากกว่า 800 พันล้านบรรทัดที่ใช้งานบนระบบการผลิต เพิ่มขึ้นจากประมาณ 220 พันล้านในปี 2560

แต่ภาษาโคบอลมีชื่อเสียงว่าเป็นภาษาที่เข้าใจยากและไม่มีประสิทธิภาพ ทำไมจึงไม่ปรับปรุงไมเกรตไปใช้ภาษาโปรแกรมอื่น? สำหรับองค์กรขนาดใหญ่ การไมเกรตโค้ดโปรแกรมมีแนวโน้มที่จะมีความซับซ้อนและมีค่าใช้จ่ายสูง เนื่องจากผู้เชี่ยวชาญ COBOL มีจำนวนน้อยในโลก เมื่อ Commonwealth Bank of Australia ตัดสินใจเปลี่ยนแพลตฟอร์มหลักจาก COBOL ในปี 2012 ต้องใช้เวลาถึงห้าปี และมีค่าใช้จ่ายมากกว่า 700 ล้านดอลลาร์

เพื่อที่จะนำเสนอโซลูชันใหม่สำหรับปัญหาการปรับปรุงแอป COBOL ให้ทันสมัย ​​วันนี้ IBM ได้เปิดตัว Code Assistant สำหรับ IBM Z ซึ่งใช้โมเดล AI ที่สร้างโค้ดเพื่อแปลโค้ด COBOL เป็น Java กำหนดให้พร้อมใช้งานโดยทั่วไปในไตรมาสที่ 4 ปี 2023 Code Assistant สำหรับ IBM Z จะเข้าสู่การแสดงตัวอย่างในระหว่างการประชุม TechXchange ของ IBM ในลาสเวกัสต้นเดือนกันยายนนี้

Ruchir Puri หัวหน้านักวิทยาศาสตร์ของ IBM Research กล่าว ผู้ช่วยโค้ดสำหรับ IBM Z ได้รับการออกแบบมาเพื่อช่วยเหลือธุรกิจในการปรับโครงสร้างแอปเมนเฟรมของตนใหม่ โดยในขณะเดียวกันก็รักษาประสิทธิภาพและความปลอดภัยไว้ได้ Code Assistant ทำงานภายในเครื่องในการกำหนดค่าภายในองค์กรหรือบนคลาวด์ในรูปแบบบริการที่ได้รับการจัดการ ซึ่งขับเคลื่อนโดยโมเดลการสร้างโค้ด CodeNet ซึ่งสามารถเข้าใจได้ไม่เพียงแต่ภาษาโคบอลและ Java เท่านั้น แต่ยังรวมถึงภาษาการเขียนโปรแกรมที่แตกต่างกันประมาณ 80 ภาษาด้วย

“IBM ได้สร้างโมเดลโค้ด AI เจนเนอเรชั่นใหม่ที่ล้ำสมัยเพื่อแปลงโปรแกรม COBOL รุ่นเก่าไปเป็น Java ระดับองค์กรที่มีความเป็นธรรมชาติในระดับสูงในโค้ดที่สร้างขึ้น” Puri กล่าวกับ TechCrunch ในการสัมภาษณ์ทางอีเมล “นอกเหนือจากการแปลงโค้ดแล้ว Code Assistant ยังสนับสนุนวงจรชีวิตการปรับแอปพลิเคชันให้ทันสมัยโดยสมบูรณ์ และช่วยให้นักพัฒนาเข้าใจ ปรับโครงสร้างใหม่ แปลงและตรวจสอบความถูกต้องของโค้ดที่แปลในสถาปัตยกรรมสมัยใหม่”

Puri กล่าวว่า CodeNet ซึ่งได้รับการฝึกฝนด้วยโทเค็น 1.5 ล้านล้านและมีพารามิเตอร์ 20 พันล้าน ได้รับการออกแบบด้วยหน้าต่างบริบทขนาดใหญ่ — 32,000 โทเค็น — เพื่อ “จับบริบทที่กว้างขึ้น” สำหรับ “การแปลงภาษาโคบอลเป็น Java ที่มีประสิทธิภาพมากขึ้น” พารามิเตอร์เป็นส่วนหนึ่งของโมเดลที่เรียนรู้จากข้อมูลการฝึกอบรมในอดีต และกำหนดทักษะของโมเดลในปัญหา เช่น การสร้างข้อความ ในขณะที่ “โทเค็น” แสดงถึงข้อความดิบ (เช่น “fan” “tas” และ “tic” สำหรับคำว่า “มหัศจรรย์”) สำหรับหน้าต่างบริบท หมายถึงข้อความที่โมเดลพิจารณาก่อนสร้างข้อความเพิ่มเติม

ปัจจุบันมีเครื่องมือ แอป และบริการมากมายในการแปลงแอป COBOL ไปเป็นไวยากรณ์ Java ซึ่งบางส่วนเป็นแบบอัตโนมัติทั้งหมด Puri รับทราบเรื่องนี้แต่ทำกรณีที่ Code Assistant ดำเนินการเพื่อหลีกเลี่ยงการเสียสละความสามารถของ COBOL ในขณะเดียวกันก็ลดต้นทุนและผลิตโค้ดที่ง่ายต่อการบำรุงรักษา ซึ่งแตกต่างจากข้อเสนอของคู่แข่งบางรายในตลาด

“IBM ได้สร้าง Code Assistant สำหรับ IBM Z เพื่อให้สามารถผสมผสานและจับคู่บริการ COBOL และ Java ได้” Puri กล่าว “หากความสามารถ ‘เข้าใจ’ และ ‘รีแฟคเตอร์’ ของระบบแนะนำว่าบริการย่อยที่กำหนดของแอปพลิเคชันจำเป็นต้องคงอยู่ในภาษา COBOL ก็จะถูกเก็บไว้อย่างนั้น และบริการย่อยอื่น ๆ จะถูกแปลงเป็น Java ”

นั่นไม่ได้หมายความว่า Code Assistant นั้นไร้ที่ติ ผลการศึกษาล่าสุดของ Stanford พบว่าวิศวกรซอฟต์แวร์ที่ใช้ระบบ AI ที่สร้างโค้ดคล้ายกับระบบมีแนวโน้มที่จะทำให้เกิดช่องโหว่ในแอปที่พวกเขาพัฒนาขึ้น อันที่จริง Puri เตือนไม่ให้ปรับใช้โค้ดที่ผลิตโดย Code Assistant ก่อนที่จะได้รับการตรวจสอบโดยผู้เชี่ยวชาญที่เป็นมนุษย์

“เช่นเดียวกับระบบ AI อื่นๆ อาจมีรูปแบบการใช้งานที่เป็นเอกลักษณ์ของแอปพลิเคชัน COBOL ขององค์กร ซึ่ง Code Assistant สำหรับ IBM Z อาจยังไม่เชี่ยวชาญ” Puri กล่าว “จำเป็นอย่างยิ่งที่โค้ดจะต้องถูกสแกนด้วยเครื่องสแกนช่องโหว่ที่ล้ำสมัยเพื่อรับรองความปลอดภัยของโค้ด”

นอกเหนือจากความเสี่ยงแล้ว IBM มองว่าเครื่องมืออย่าง Code Assistant มีความสำคัญต่อการเติบโตในอนาคตอย่างไม่ต้องสงสัย ปัจจุบัน ลูกค้าเมนเฟรมของ IBM ประมาณ 84% ใช้งาน COBOL ซึ่งส่วนใหญ่เป็นลูกค้าในภาคการเงินและภาครัฐ และในขณะที่แผนกเมนเฟรมของ IBM ยังคงเป็นส่วนใหญ่ของธุรกิจโดยรวม บริษัทมองว่าเมนเฟรมเป็นสะพานเชื่อมไปยังสภาพแวดล้อมการประมวลผลแบบไฮบริดที่กว้างขวางและมีกำไร ซึ่งทางบริษัทก็โฮสต์และอำนวยความสะดวกด้วย

IBM มองเห็นอนาคตในเครื่องมือ AI ที่สร้างโค้ดที่กว้างขึ้น รวมถึงความตั้งใจที่จะแข่งขันกับแอปอย่าง GitHub Copilot และ Amazon CodeWhisperer ในเดือนพฤษภาคม IBM ได้เปิดตัว fm.model.code ภายในบริการ Watsonx AI ซึ่งขับเคลื่อน Watson Code Assistant ช่วยให้นักพัฒนาสามารถสร้างโค้ดโดยใช้คำสั่งภาษาอังกฤษธรรมดาในโปรแกรมต่างๆ รวมถึง Ansible Lightspeed ของ Red Hat

view original*