การเปิดตัว cppcheck 2.7 ซึ่งเป็นตัววิเคราะห์โค้ดแบบคงที่สำหรับภาษา C++ และ C

เวอร์ชันใหม่ของเครื่องวิเคราะห์โค้ดแบบคงที่ cppcheck 2.7 เปิดตัวแล้ว ซึ่งช่วยให้คุณระบุข้อผิดพลาดประเภทต่างๆ ในโค้ดในภาษา C และ C++ รวมถึงเมื่อใช้ไวยากรณ์ที่ไม่เป็นมาตรฐาน ซึ่งเป็นเรื่องปกติสำหรับระบบฝังตัว มีการจัดเตรียมชุดปลั๊กอินซึ่ง cppcheck บูรณาการเข้ากับระบบการพัฒนา การบูรณาการอย่างต่อเนื่องและการทดสอบที่หลากหลาย และยังให้คุณสมบัติต่างๆ เช่น การตรวจสอบความสอดคล้องของโค้ดกับรูปแบบโค้ด หากต้องการแยกวิเคราะห์โค้ด คุณสามารถใช้ตัวแยกวิเคราะห์ของคุณเองหรือตัวแยกวิเคราะห์ภายนอกจาก Clang นอกจากนี้ยังมีสคริปต์ donate-cpu.py เพื่อจัดหาทรัพยากรในท้องถิ่นเพื่อทำงานตรวจสอบโค้ดร่วมกันสำหรับแพ็คเกจ Debian ซอร์สโค้ดของโครงการได้รับการเผยแพร่ภายใต้ใบอนุญาต GPLv3

การพัฒนา cppcheck มุ่งเน้นไปที่การระบุปัญหาที่เกี่ยวข้องกับพฤติกรรมที่ไม่ได้กำหนด และการใช้การออกแบบที่เป็นอันตรายจากมุมมองด้านความปลอดภัย เป้าหมายคือการลดผลบวกลวงให้เหลือน้อยที่สุด ในบรรดาปัญหาที่ระบุ: ตัวชี้ไปยังวัตถุที่ไม่มีอยู่จริง, การหารด้วยศูนย์, จำนวนเต็มล้น, การดำเนินการกะบิตไม่ถูกต้อง, การแปลงที่ไม่ถูกต้อง, ปัญหาเมื่อทำงานกับหน่วยความจำ, การใช้ STL ไม่ถูกต้อง, การยกเลิกการอ้างอิงตัวชี้ null, การใช้การตรวจสอบหลังจากการเข้าถึงจริง ไปยังบัฟเฟอร์, บัฟเฟอร์โอเวอร์รัน, การใช้ตัวแปรที่ไม่ได้กำหนดค่าเริ่มต้น

ในขณะเดียวกัน บริษัท Cppcheck Solutions AB ของสวีเดนกำลังพัฒนา Cppcheck Premium เวอร์ชันขยาย ซึ่งให้การวิเคราะห์การมีอยู่ของลูปที่ไม่มีที่สิ้นสุด การค้นหาตัวแปรที่ไม่ได้เตรียมใช้งานที่ดีขึ้น และการวิเคราะห์บัฟเฟอร์ล้นขั้นสูง

ในเวอร์ชันใหม่:

  • เพิ่มการรองรับมุมมองของคอนเทนเนอร์ - มีการเพิ่มแอตทริบิวต์ view ให้กับแท็กไลบรารี ซึ่งระบุว่าคลาสนั้นเป็นมุมมอง รหัสการวิเคราะห์อายุการใช้งานได้รับการอัปเดตเพื่อใช้แอตทริบิวต์นี้เมื่อค้นหาคอนเทนเนอร์ที่ห้อยต่องแต่ง
  • ปรับปรุงการตรวจสอบ;
  • ข้อผิดพลาดที่สะสมได้รับการแก้ไขและกำจัดข้อบกพร่องในตัววิเคราะห์แล้ว

ที่มา: opennet.ru

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