انتشار cppcheck 2.7، یک تحلیلگر کد استاتیک برای زبان های C++ و C

نسخه جدیدی از تحلیلگر کد استاتیک cppcheck 2.7 منتشر شده است که به شما امکان می دهد کلاس های مختلفی از خطاها را در کد در زبان های C و C++ شناسایی کنید، از جمله هنگام استفاده از نحو غیر استاندارد، معمولی برای سیستم های جاسازی شده. مجموعه ای از افزونه ها ارائه شده است که از طریق آن cppcheck با سیستم های مختلف توسعه، ادغام و آزمایش مداوم یکپارچه می شود و همچنین ویژگی هایی مانند بررسی تطابق کد با سبک کد را ارائه می دهد. برای تجزیه کد، می توانید از تجزیه کننده خود یا تجزیه کننده خارجی Clang استفاده کنید. همچنین شامل اسکریپت donate-cpu.py برای ارائه منابع محلی برای انجام کار بررسی کد مشترک برای بسته‌های دبیان است. کد منبع پروژه تحت مجوز GPLv3 توزیع شده است.

توسعه cppcheck بر شناسایی مشکلات مرتبط با رفتار تعریف نشده و استفاده از طرح هایی که از نقطه نظر ایمنی خطرناک هستند متمرکز است. هدف نیز به حداقل رساندن موارد مثبت کاذب است. از جمله مشکلات شناسایی شده: اشاره گر به اشیاء ناموجود، تقسیم بر صفر، سرریز اعداد صحیح، عملیات تغییر بیت نادرست، تبدیل های نادرست، مشکلات هنگام کار با حافظه، استفاده نادرست از STL، عدم ارجاع اشاره گر تهی، استفاده از بررسی ها پس از دسترسی واقعی به بافر، بیش از حد بافر، استفاده از متغیرهای اولیه.

به موازات آن، شرکت سوئدی Cppcheck Solutions AB در حال توسعه یک نسخه توسعه‌یافته از Cppcheck Premium است که تجزیه و تحلیل حضور حلقه‌های بی‌نهایت، جستجوی بهبود یافته برای متغیرهای اولیه‌سازی نشده و تحلیل پیشرفته سرریز بافر را ارائه می‌دهد.

در نسخه های جدید:

  • پشتیبانی اضافه شده برای نماهای کانتینرها - ویژگی view به تگ کتابخانه اضافه شده است که نشان می دهد کلاس یک view است. کد تجزیه و تحلیل طول عمر برای استفاده از این ویژگی هنگام جستجوی ظروف آویزان به روز شده است.
  • چک های بهبود یافته؛
  • خطاهای انباشته اصلاح شده و نواقص موجود در آنالایزر برطرف شده است.

منبع: opennet.ru

اضافه کردن نظر