ControlFlag: เครื่องมือแก้จุดบกพร่องโค้ด

อินเทลเปิดตัวแล้ว ปล่อยเวอร์ชั่นสำคัญของ ธงควบคุม 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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา