C++ ve C dilleri için statik kod analizörü olan cppcheck 2.7'nin sürümü

Statik kod analizörü cppcheck 2.7'nin yeni bir sürümü yayımlandı; bu sürüm, gömülü sistemler için tipik olan standart dışı sözdizimi kullanıldığında da dahil olmak üzere, C ve C++ dillerindeki koddaki çeşitli hata sınıflarını tanımlamanıza olanak tanır. cppcheck'in çeşitli geliştirme, sürekli entegrasyon ve test sistemleriyle entegre edildiği ve ayrıca kod stiline uygunluğunu kontrol etme gibi özellikler sağlayan bir eklenti koleksiyonu sağlanmaktadır. Kodu ayrıştırmak için kendi ayrıştırıcınızı veya Clang'ın harici bir ayrıştırıcısını kullanabilirsiniz. Ayrıca, Debian paketleri için işbirliğine dayalı kod inceleme çalışmaları yapmak amacıyla yerel kaynaklar sağlamak üzere donate-cpu.py betiğini de içerir. Projenin kaynak kodu GPLv3 lisansı altında dağıtılmaktadır.

Cppcheck'in geliştirilmesi, tanımlanmamış davranışlarla ve güvenlik açısından tehlikeli olan tasarımların kullanımıyla ilişkili sorunların belirlenmesine odaklanmıştır. Amaç aynı zamanda yanlış pozitifleri en aza indirmektir. Tanımlanan sorunlar arasında: var olmayan nesnelere işaretçiler, sıfıra bölmeler, tamsayı taşmaları, yanlış bit kaydırma işlemleri, hatalı dönüşümler, bellekle çalışırken sorunlar, yanlış STL kullanımı, boş işaretçi referansları, gerçek erişimden sonra kontrollerin kullanılması arabelleğe alma, arabellek taşmaları, başlatılmamış değişkenlerin kullanımı.

Buna paralel olarak İsveç şirketi Cppcheck Solutions AB, sonsuz döngülerin varlığının analizini, başlatılmamış değişkenler için geliştirilmiş aramayı ve gelişmiş arabellek taşması analizini sağlayan Cppcheck Premium'un genişletilmiş bir sürümünü geliştiriyor.

Yeni sürümde:

  • Kapsayıcı görünümler için destek eklendi - sınıfın bir görünüm olduğunu belirten görünüm özelliği kitaplık etiketine eklendi. Ömür boyu analiz kodu, sarkan kapları ararken bu özelliği kullanacak şekilde güncellendi;
  • Geliştirilmiş kontroller;
  • Birikmiş hatalar düzeltildi ve analizördeki eksiklikler giderildi.

Kaynak: opennet.ru

Yorum ekle