د cppcheck 2.6 خپرول، د C++ او C ژبو لپاره د جامد کوډ تحلیل کونکی

د جامد کوډ تحلیل کونکي cppcheck 2.6 نوې نسخه خپره شوې ، کوم چې تاسو ته اجازه درکوي په C او C++ ژبو کې په کوډ کې د غلطیو مختلف ټولګي وپیژني ، پشمول د غیر معیاري ترکیب کارولو په شمول ، د سرایت شوي سیسټمونو لپاره عادي. د پلگ انونو ټولګه چمتو شوې چې له لارې یې cppcheck د مختلف پراختیا ، دوامداره ادغام او ازموینې سیسټمونو سره مدغم کیږي ، او دا ډول ځانګړتیاوې هم چمتو کوي لکه د کوډ سټایل سره د کوډ اطاعت چیک کول. د کوډ پارس کولو لپاره ، تاسو کولی شئ یا خپل خپل پارسر یا د کلینګ څخه بهرني پارسر وکاروئ. پدې کې د donate-cpu.py سکریپټ هم شامل دی ترڅو د ډیبیان کڅوړو لپاره د کوډ بیاکتنې کار کولو لپاره ځایی سرچینې چمتو کړي. د پروژې سرچینې کوډ د GPLv3 جواز لاندې ویشل شوی.

د cppcheck پراختیا د غیر تعریف شوي چلند سره تړلې ستونزې پیژندلو او د ډیزاینونو کارولو باندې تمرکز کوي چې د خوندیتوب له نظره خطرناک دي. موخه دا هم ده چې د غلطو مثبتو کمولو لپاره. د پیژندل شویو ستونزو په منځ کې: غیر موجود شیانو ته اشاره کول، د صفر په واسطه ویشل، د انټیجر ډیر جریان، د غلط بټ شفټ عملیات، غلط تبادله، د حافظې سره د کار کولو په وخت کې ستونزې، د STL ناسم کارول، د نول پوائنټر ډیریفرنس، د حقیقي لاسرسي وروسته د چکونو کارول بفر ته، بفر اووررن، د غیر پیل شوي متغیرونو کارول.

په نوې نسخه کې:

  • لاندې چکونه د تحلیل کونکي کور کې اضافه شوي:
    • د فعالیت په بدن کې د راستنیدونکي آپریټر نشتوالی؛
    • د راټولولو ډاټا ثبتوي، نا تعریف شوي چلند ټاکي؛
    • د پرتله کولو ارزښت د ډول د ارزښت نمایش څخه بهر دی؛
    • د کاپي اصلاح کول د ستنیدو لپاره نه پلي کیږي std::move(local);
    • فایل په مختلفو جریانونو کې د لوستلو او لیکلو لپاره په ورته وخت کې نشي خلاص کیدی؛
  • د یونیکس پلیټ فارمونو لپاره ، په مختلف رنګونو کې د تشخیصي پیغامونو ښودلو لپاره ملاتړ اضافه شوی؛
  • د ValueFlow لپاره سمبولیک تحلیل اضافه شوی. ساده ډیلټا کاروي کله چې د دوو نامعلومو متغیرونو ترمنځ توپیر محاسبه کړي؛
  • د "تعریف" د ټوکن لیست لپاره کارول شوي مقررات هم کولی شي د # شاملولو سره سمون ولري؛
  • د کتابتون ټګ اوس کولی شي د ټګ ولري، او د دې مطابق وړیا افعال، کوم چې کولی شي کانټینرونه ومني لکه std::size، std:: empty، std::begin، std::end، etc. د نښلونکو لپاره ییلډ یا عمل مشخص کولی شي؛
  • د د کتابتون ټاګ اوس کولی شي د سمارټ پوینټرونو لپاره چې ځانګړی ملکیت لري یو ټاګ ولري. یو خبرداری اوس د دې ډول سمارټ پوینټرونو ته د خطرناکو حوالو په اړه خپور شوی؛
  • د —cppcheck-build-dir پیرامیټر پروسس کولو کې ستونزې حل شوې؛
  • htmlreport اوس کولی شي د لیکوال په اړه معلومات ښکاره کړي (د ګیټ تور په کارولو سره)؛
  • د متغیرونو په اړه پراخ اخطارونه چې ثابت نه وي، مګر کیدی شي؛
  • د تحلیل کونکي راټول شوي غلطۍ او نیمګړتیاوې سمې شوې.

برسیره پردې، د Misra C 2012 څخه چکونه، په شمول د 1 تعدیل او ترمیم 2، په بشپړه توګه پلي شوي، پرته له قواعدو 1.1، 1.2 او 17.3. چک 1.1 او 1.2 باید د کمپیلر لخوا ترسره شي. تایید 17.3 د کمپیلر لخوا ترسره کیدی شي لکه GCC.

سرچینه: opennet.ru

Add a comment