Facebook เปิดตัว RacerD เครื่องมือโอเพ่นซอร์สสำหรับตรวจหา race condition ในโค้ด

by nutmos
20 October 2017 - 08:49

Facebook เปิดตัวเครื่องมือโอเพ่นซอร์สใหม่ชื่อว่า RacerD ระบบช่วยนักพัฒนาตรวจสอบโค้ดสำหรับปัญหาต่าง ๆ ที่อาจะเกิดขึ้นอย่างเช่น race condition และช่วยในการป้องกันปัญหาเหล่านี้

การอิมพลีเมนต์โปรแกรมในรูปแบบ concurrency จะทำให้แอพสามารถทำงานได้หลายงานในคราวเดียวกัน แต่หากไม่ระวังก็จะเกิด race condition ขึ้นมาได้ และการค้นหาปัญหาที่เกิดขึ้นนั้นก็ยากและการแก้ก็ยาก

ระบบ RacerD ที่จะเข้ามาแก้ปัญหา race condition จาก Facebook นี้ เริ่มทำงานตั้งแต่โค้ดส่วนหนึ่งเริ่มคอมไพล์ และจะรายงานว่าส่วนใดในโปรแกรมที่มีโอกาสจะเกิด race condition ได้ ซึ่งจากการใช้งาน RacerD นี้ ทีมงาน Facebook สามารถตรวจจับ race condition ได้ถึง 1,000 จุดในขณะที่กำลังแปลงส่วนของ news feed ของแอพให้ทำงานแบบ concurrency ซึ่งในกรณีของ news feed นี้ การแปลงการทำงานของแอพช่วยให้เพิ่มประสิทธิภาพได้กว่า 5%

ทั้งนี้ Peter O’Hearn นักวิจัยจาก Facebook กล่าวว่า RacerD นี้ไม่ได้การันตีว่าจะสามารถตรวจจับ race condition ได้ทุกจุด แต่ก็สามารถค้นหาส่วนใหญ่ของปัญหาได้

RacerD นี้จะสามารถใช้งานได้เฉพาะ Java แต่ O’Hearn กล่าวว่าเตรียมจะพัฒนาให้รองรับ C++ ด้วย

ที่มา - VentureBeat, Facebook Code

Blognone Jobs Premium