DeepCode จะค้นหาข้อผิดพลาดในซอร์สโค้ดซอฟต์แวร์โดยใช้ AI

วันนี้เป็นสตาร์ทอัพชาวสวิส รหัสลึกซึ่งใช้ปัญญาประดิษฐ์และการเรียนรู้ของเครื่องเพื่อทำการวิเคราะห์โค้ดโดยอัตโนมัติ ประกาศว่า บริษัทได้รับเงินลงทุน 4 ล้านดอลลาร์จากกองทุนร่วมลงทุน Earlybird, 3VC และ Btov Partners บริษัทวางแผนที่จะใช้เงินทุนเหล่านี้เพื่อแนะนำการสนับสนุนสำหรับภาษาการเขียนโปรแกรมใหม่ ๆ ในบริการ ตลอดจนทำการตลาดผลิตภัณฑ์ในตลาดไอทีทั่วโลก

DeepCode จะค้นหาข้อผิดพลาดในซอร์สโค้ดซอฟต์แวร์โดยใช้ AI

การวิเคราะห์โค้ดเป็นสิ่งจำเป็นในการตรวจจับข้อผิดพลาด ช่องโหว่ที่อาจเกิดขึ้น การละเมิดรูปแบบ และอื่นๆ ในช่วงต้นของการพัฒนาซอฟต์แวร์ ก่อนที่โค้ดจะถูกนำมาใช้ทุกที่ โดยทั่วไปแล้ว ขั้นตอนนี้จะดำเนินการควบคู่ไปกับการพัฒนาโค้ดใหม่และทันทีหลังจากเสร็จสิ้น ก่อนขั้นตอนการทดสอบ “การทดสอบซอฟต์แวร์จะดูที่โค้ดจากภายนอก แต่การวิเคราะห์โค้ดจะทำให้คุณสามารถดูได้จากภายใน” Boris Paskalev ผู้ร่วมก่อตั้ง DeepCode และ CEO อธิบายในการให้สัมภาษณ์กับ VentureBeat

ส่วนใหญ่แล้ว การตรวจสอบโค้ดจะดำเนินการโดยผู้เขียนร่วมกับเพื่อนร่วมงานและผู้จัดการ เพื่อระบุข้อผิดพลาดที่ชัดเจนก่อนที่จะก้าวไปสู่ขั้นตอนต่อไปของการพัฒนา และยิ่งโปรเจ็กต์มีขนาดใหญ่เท่าไร ก็ยิ่งต้องตรวจสอบบรรทัดโค้ดมากขึ้น ซึ่งกินเวลาของโปรแกรมเมอร์เป็นจำนวนมาก เครื่องมือที่ควรเร่งกระบวนการนี้มีมานานแล้ว เช่น เครื่องมือวิเคราะห์โค้ดแบบคงที่ เช่น Coverity และ PVS-Studio แต่เครื่องมือเหล่านี้มีแนวโน้มที่จะถูกจำกัดในความสามารถ เนื่องจากมุ่งเน้นไปที่ “ปัญหาด้านโวหารที่น่ารำคาญและซ้ำซาก การจัดรูปแบบและ ข้อผิดพลาดเชิงตรรกะเล็กๆ น้อยๆ” Paskalev อธิบาย

ในทางกลับกัน DeepCode จะครอบคลุมปัญหาที่หลากหลายมากขึ้น เช่น การตรวจจับช่องโหว่ เช่น โอกาสในการเขียนสคริปต์ข้ามไซต์และการแทรก SQL เนื่องจากอัลกอริธึมที่ฝังอยู่ในนั้นไม่เพียงแต่วิเคราะห์โค้ดเป็นชุดอักขระเท่านั้น แต่ยังพยายาม เข้าใจความหมายและวัตถุประสงค์ของโปรแกรมที่เขียนงาน หัวใจสำคัญของสิ่งนี้คือระบบการเรียนรู้ของเครื่องที่ใช้โค้ดหลายพันล้านบรรทัดจากโปรเจ็กต์โอเพ่นซอร์สที่เปิดเผยต่อสาธารณะสำหรับการฝึกอบรม DeepCode วิเคราะห์โค้ดเวอร์ชันก่อนหน้าและการเปลี่ยนแปลงที่ตามมาที่เกิดขึ้นกับโค้ดเพื่อศึกษาข้อผิดพลาดและวิธีที่โปรแกรมเมอร์ตัวจริงแก้ไขงานของตน จากนั้นจึงนำเสนอโซลูชันที่คล้ายคลึงกันแก่ผู้ใช้ นอกจากนี้ ระบบยังใช้อัลกอริธึมการทำนายแบบดั้งเดิมเพื่อค้นหาปัญหาที่เป็นไปได้ในโค้ด เช่น เครื่องวิเคราะห์แบบคงที่ที่กล่าวถึงข้างต้น

คำถามสำคัญประการหนึ่งเมื่อใช้ DeepCode คือ การตรวจสอบโค้ดอัตโนมัติมีความน่าเชื่อถือเพียงใด ความแม่นยำในการวิเคราะห์น้อยกว่า 100% หมายความว่านักพัฒนายังคงต้องวิเคราะห์โค้ดด้วยตนเอง หากเป็นเช่นนั้น การใช้เครื่องมือเพื่อทำให้งานนี้อัตโนมัติมีเวลาเท่าไร? จากข้อมูลของ Paskalev DeepCode จะช่วยให้นักพัฒนาประหยัดเวลาได้ประมาณ 50% ของเวลาที่พวกเขาใช้เพื่อค้นหาข้อผิดพลาดด้วยตนเอง ซึ่งถือเป็นตัวเลขที่สำคัญทีเดียว

นักพัฒนาสามารถเชื่อมต่อ DeepCode กับบัญชี GitHub หรือ Bitbucket ของตนได้ และเครื่องมือนี้ยังรองรับการกำหนดค่า GitLab ในเครื่องอีกด้วย นอกจากนี้ โปรเจ็กต์ยังมี API พิเศษที่ช่วยให้นักพัฒนาสามารถรวม DeepCode เข้ากับระบบการพัฒนาของตนเองได้ เมื่อเชื่อมต่อกับพื้นที่เก็บข้อมูลแล้ว DeepCode จะวิเคราะห์การเปลี่ยนแปลงโค้ดแต่ละครั้งและแจ้งปัญหาที่อาจเกิดขึ้น

DeepCode จะค้นหาข้อผิดพลาดในซอร์สโค้ดซอฟต์แวร์โดยใช้ AI

“โดยเฉลี่ยแล้ว นักพัฒนาจะใช้เวลาประมาณ 30% ในการค้นหาและแก้ไขจุดบกพร่อง แต่ DeepCode สามารถประหยัดเวลาได้ครึ่งหนึ่งในตอนนี้ และมากกว่านั้นอีกในอนาคต” Boris กล่าว “เนื่องจาก DeepCode เรียนรู้โดยตรงจากชุมชนนักพัฒนาทั่วโลก จึงสามารถค้นหาปัญหาได้มากกว่าที่บุคคลหนึ่งหรือทั้งกลุ่มของผู้ตรวจสอบจะพบ”

นอกจากข่าวการรับการลงทุนแล้ว DeepCode ยังได้ประกาศนโยบายคุณค่าใหม่สำหรับผลิตภัณฑ์ของตนอีกด้วย จนถึงขณะนี้ DeepCode เปิดให้ใช้งานฟรีสำหรับโครงการพัฒนาซอฟต์แวร์โอเพ่นซอร์สเท่านั้น ตอนนี้จะใช้งานได้ฟรีเพื่อวัตถุประสงค์ทางการศึกษาใดๆ และแม้แต่สำหรับบริษัทเชิงพาณิชย์ที่มีนักพัฒนาน้อยกว่า 30 คน แน่นอนว่าด้วยขั้นตอนนี้ ผู้สร้าง DeepCode ต้องการทำให้ผลิตภัณฑ์ของตนได้รับความนิยมมากขึ้นในหมู่ทีมเล็กๆ นอกจากนี้ DeepCode จะเรียกเก็บเงิน 20 ดอลลาร์ต่อนักพัฒนาต่อเดือนสำหรับการปรับใช้บนคลาวด์ และ 50 ดอลลาร์ต่อนักพัฒนาสำหรับการสนับสนุนในท้องถิ่น

ก่อนหน้านี้ทีมงาน DeepCode ได้รับเงินลงทุนไปแล้ว 1 ล้านเหรียญสหรัฐ ด้วยอีก 4 ล้านภาษา บริษัทกล่าวว่ามีแผนที่จะขยายภาษาการเขียนโปรแกรมที่รองรับนอกเหนือจาก Java, JavaScript และ Python รวมถึงเพิ่มการรองรับ C#, PHP และ C/C++ พวกเขายังยืนยันว่าพวกเขากำลังทำงานในสภาพแวดล้อมการพัฒนาแบบบูรณาการของตนเอง



ที่มา: 3dnews.ru

เพิ่มความคิดเห็น