อินเทลเปิดตัวแล้ว ปล่อยเวอร์ชั่นสำคัญของ ธงควบคุม 1.0, ซึ่งเป็น ระบบควบคุมซอฟต์แวร์ การอนุญาต ตรวจจับข้อผิดพลาดและความผิดปกติในรหัสของคุณ แหล่งที่มาโดยใช้ระบบการเรียนรู้ของเครื่องที่ได้รับการฝึกอบรมเกี่ยวกับโค้ดที่มีอยู่จำนวนมาก
ต่างจากเครื่องวิเคราะห์สถิตทั่วไป ControlFlag ไม่ใช้กฎที่กำหนดไว้ล่วงหน้า ซึ่งเป็นเรื่องยากที่จะคาดการณ์ทางเลือกที่เป็นไปได้ทั้งหมด แต่ค่อนข้าง ส่วนหนึ่งของสถิติการใช้งานก่อสร้างทุกประเภท ภาษาในโครงการที่มีอยู่จำนวนมาก
จากการวิจัยพบว่า การค้นหาและลบจุดบกพร่องในโค้ดมักทำด้วยตนเองและใช้เวลามากกว่า 50% ของเวลาทำงานของนักพัฒนา
เครื่องมือนี้จะเรียนรู้วิธีระบุและติดป้ายกำกับตัวเลือกโวหารเหล่านี้ และคุณสามารถปรับแต่งการระบุจุดบกพร่องและแก้ไขคำแนะนำตามความรู้ของคุณ ลดการอธิบายลักษณะโค้ดที่ไม่ถูกต้องของ ControlFlag ที่อาจเป็นเพียงความเบี่ยงเบนของโวหารระหว่างสองทีมของนักพัฒนา
เกี่ยวกับ ControlFlag
ระบบ ได้รับการฝึกอบรมโดยการสร้างแบบจำลองทางสถิติจากเมทริกซ์ซอร์สโค้ดที่มีอยู่ เปิดเผยแพร่บน GitHub และที่เก็บข้อมูลสาธารณะที่คล้ายกัน ในขั้นตอนการฝึกอบรม ระบบจะกำหนดเทมเพลตทั่วไปเพื่อสร้างโครงสร้างในโค้ด และสร้างแผนผังของการเชื่อมต่อระหว่างเทมเพลตเหล่านี้ ซึ่งสะท้อนถึงโฟลว์ของการดำเนินการโค้ดในโปรแกรม
ด้วยเหตุนี้ โครงสร้างการตัดสินใจอ้างอิงจึงถูกสร้างขึ้น โดยรวมประสบการณ์การพัฒนาของข้อความต้นฉบับที่วิเคราะห์ทั้งหมด มีการดำเนินการกระบวนการกำหนดรูปแบบที่คล้ายกันสำหรับโค้ดที่อยู่ระหว่างการทดสอบ ซึ่งเปรียบเทียบกับแผนผังการตัดสินใจอ้างอิง ความคลาดเคลื่อนขนาดใหญ่กับกิ่งที่อยู่ติดกันบ่งบอกถึงความผิดปกติในรูปแบบที่กำลังตรวจสอบ
จากลักษณะ ของเวอร์ชั่น ControlFlag 1.0 รองรับเทมเพลต C อย่างเต็มรูปแบบ และความสามารถในการตรวจจับ ความผิดปกติในคำสั่ง "ถ้า" แบบมีเงื่อนไข
ตัวอย่างเช่น เมื่อแยกวิเคราะห์ข้อมูลโค้ด "if (x = 7) y = x;" ระบบจะตรวจพบว่าโดยทั่วไปมีการใช้โครงสร้าง "variable == number" ในคำสั่ง "if" เพื่อเปรียบเทียบค่าตัวเลข ดังนั้นการบ่งชี้ "variable = number" ในคำสั่ง "if" อาจเกิดจากข้อผิดพลาดในการพิมพ์
ชุดเครื่องมือ จัดเตรียมสคริปต์ที่อนุญาตให้ดาวน์โหลดที่เก็บ C ที่มีอยู่ใน GitHub และใช้ในการสร้างแบบจำลอง นอกจากนี้ยังมีรุ่น Ready-to-go ให้คุณเริ่มตรวจสอบโค้ดได้ทันที
ระบบ เป็นส่วนหนึ่งของโครงการวิจัยการเขียนโปรแกรมเครื่องจักร (MPR) จาก Intel ซึ่งมีเป้าหมายหลักในการลดเวลาที่จำเป็นสำหรับการพัฒนาซอฟต์แวร์ลง 1000 เท่าเนื่องจากระบบอัตโนมัติ
โดยเฉพาะอย่างยิ่ง ขณะนี้ Intel กำลังทำงานเพื่อฝึก Controlflag เพื่อแก้ไขข้อผิดพลาดที่ตรวจพบโดยอัตโนมัติ นอกจากนี้ ในปี 2020 บริษัทได้เปิดตัวเครื่องมือ MISIM ซึ่งพัฒนาร่วมกับห้องปฏิบัติการของ MIT ซึ่งสามารถศึกษาข้อมูลโค้ดเพื่อทำความเข้าใจว่าโค้ดบางส่วนพยายามทำอะไร ระบบนี้มีจุดมุ่งหมายเพื่อให้นักพัฒนามีวิธีปรับปรุงประสิทธิภาพของโค้ด
"การดีบักคาดว่าจะก่อให้เกิดอันตรายต่อนักพัฒนาและอุตสาหกรรมโดยรวมมากยิ่งขึ้น" อินเทลกล่าว ประกาศ… "เมื่อใช้งานอย่างสมบูรณ์ ControlFlag สามารถช่วยบรรเทาความท้าทายนี้โดยทำให้ความยุ่งยากในการพัฒนาซอฟต์แวร์โดยอัตโนมัติ เช่น การทดสอบ การตรวจสอบ และการดีบัก"
“ข้อได้เปรียบหลักของแนวทางการรู้จำรูปแบบที่ไม่มีผู้ดูแลของ ControlFlag คือคุณสามารถเรียนรู้ที่จะปรับให้เข้ากับสไตล์ของนักพัฒนาได้ เนื่องจากโปรแกรมมีอินพุตที่จำกัดสำหรับเครื่องมือควบคุมที่คุณต้องใช้ในการประเมิน ControlFlag สามารถระบุรูปแบบการพิมพ์ในภาษาการเขียนโปรแกรมได้ในลักษณะเดียวกับที่ผู้อ่านสามารถรับรู้ความแตกต่างระหว่างคำทั้งหมดและใช้ตัวย่อภาษาอังกฤษได้” Intel เขียน
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับ ControlFlag คุณควรรู้ว่ามันถูกเขียนด้วย C ++ และเป็นโอเพ่นซอร์สภายใต้ใบอนุญาต MIT และรหัสของมัน โฮสต์บน GitHub