Cppcheck เป็นเครื่องมือ การวิเคราะห์แบบสถิติ สำหรับโค้ดใน C/C++ ที่ออกแบบมาเพื่อตรวจจับข้อผิดพลาด, พฤติกรรมที่ไม่ชัดเจน (undefined behavior) และวิธีการเขียนโค้ดที่อาจเป็นอันตราย คุณลักษณะและวัตถุประสงค์หลักมีดังนี้:
การตรวจจับปัญหาซับซ้อน:
มุ่งเน้นไปที่ข้อผิดพลาดที่ตรวจจับได้ยากในการทดสอบปกติ เช่น:
การรั่วไหลของหน่วยความจำ.
การเข้าถึงตัวชี้ที่ไม่ถูกต้อง.
เงื่อนไขที่ไม่ได้เริ่มต้นหรือลักษณะที่ไม่ชัดเจน.
การละเมิดขอบเขตของอาเรย์.
อัตราการตรวจจับผิดบวกต่ำ:
ให้ความสำคัญกับความแม่นยำ ลดการแจ้งเตือนที่ไม่เกี่ยวข้องเพื่อไม่ให้ผู้พัฒนาถูกเบียดเบียน.
การสนับสนุนไวยากรณ์ที่ไม่เป็นมาตรฐาน:
วิเคราะห์โค้ดด้วยส่วนขยายเฉพาะของคอมไพเลอร์หรือวิธีปฏิบัติเข้าที่พบทั่วไปในโครงการ ฝังตัว ที่ความยืดหยุ่นมีความสำคัญ.
การรวมและการปรับแต่ง:
สามารถใช้งานผ่านบรรทัดคำสั่ง, รวมเข้ากับ IDE (เช่น Visual Studio หรือ Eclipse) หรือในไลน์ของ CI/CD อนุญาตให้สร้างกฎเกณฑ์ที่กำหนดเอง.
การวิเคราะห์แบบหลายเธรด:
มีตัวเลือกเพื่อเร่งการตรวจสอบในโครงการขนาดใหญ่.