Açık Kaynak Proje Geliştirenler için PVS-Studio Artık Ücretsiz

2019 yılının arifesinde, PVS-Studio ekibinden GitHub veya Bitbucket'ta barındırılan açık kaynak projelerinin tüm katkıcılarına güzel bir haber geldi: PVS-Studio artık ücretsiz olacak.
PVS-Studio ekibi, uzun süredir hem kendi tanıtımları için hem de gerçekten yapmak istedikleri için açık kaynak yazılımların daha iyi ve daha güvenilir hale gelmesine yardımcı oluyor. Yaptıkları çalışmalarla 10000'den çok hatanın giderilmesine yardımcı oldular.

Bunun yanı sıra 2016 yılında PVS-Studio'nun ücretsiz bir sürümünü de sundular. Bu sürümü kullanmak için tek bir şart var: her kaynak dosyasına PVS-Studio'nun ücretsiz bir sürümünün kullanıldığını belirtir bir yorum satırı eklemek.

Benim için kesinlikle kabul edilebilir bir seçenek olmadığı için bu lisansla kullanmayı düşünmemiştim hiç. Eğer bu seçenek sizin ilginizi çektiyse How to use PVS-Studio for Free belgesine bakabilirsiniz.

PVS-Studio ekibi, benim gibi düşünenler ve daha çok kişiye ulaşabilmek için GitHub veya Bitbucket'ta yayımlanan açık kaynaklı projelerin geliştirilmesinde yer alanların kaynak kodlarına hiçbir ekleme yapmaya gerek kalmadan PVS-Studio kullanımını mümkün kıldı. Bir yıllık ücretsiz lisans almak için yapılması gerekenler şunlar:
Lisansın süresi dolduğunda, aynı şekilde yeni bir lisans anahtarı alınabilecekmiş. Ben dün sabah başvurdum ama henüz bir lisans gelmedi. Gelir elbet, bekleyelim bakalım.

Anahtarlar yalnızca bireysel kullanım için ve yalnızca GitHub/Bitbucket'ta yayımlanan açık kaynaklı projelerin kontrolü için. Lisans, projelerin yansılarında yapılacak kullanımlaraysa izin vermiyor.

Eski lisans kullanım şekli de geçerli olmaya devam ediyor. Bu kullanım şeklinin de kendi avantajları var tabii. Örneğin, öğrenciler projelerini GitHub/Bitbucket'a yüklemek zorunda kalmadan test etmek için kullanabilir. Dahası, bu lisansla PVS-Studio, kapalı projeler için bile kullanılabilir.

Kullanım Koşulları

Ücretsiz kullanıcılar için destek StackOverflow'taki cevaplarda gerçekleştirilecek. StackOverflow, bir hata takip sistemi olmadığından burada sadece analiz işleriyle ilgili sorular varsa bunlar tartışılabilecek. Karşılaşılan ve açıkça hata olduğu belli olan durumların bildirimi içinse PVS-Studio'nun kendi destek kanalına yazılabilecek.

PVS-Studio ekibi, ücretsiz lisans sağlama işlemini şimdilik herhangi bir zaman sınırına bağlamamış. Ancak, bir şeylerin ters gittiğini hissederlerse şartları değiştirme veya lisans sağlama işlemini tamamen durdurma haklarını saklı tuttuklarını da eklemeyi unutmamışlar. Ayrıca, herhangi bir açıklama yapmadan kullanımdaki belirli anahtarları geri çekme haklarına da sahiplermiş.

Daha önce de belirtildiği gibi, ücretsiz lisans kullanımı, Clang, Chromium, KDE ve benzeri büyük projelerin yansıları için geçerli değil. Bu tür büyük projelerin geliştiricilerine destek verilmesi PVS-Studio ekibine önemli yükler getireceği için bu tür projeleri gerçekleştiren şirketlerin çalışanları için ücretli lisansı almalarının daha doğru olacağı düşünülmüş.

Pardon da PVS-Studio Neydi?

PVS-Studio, C, C++ ve C# için bir statik kod analiz aracıdır. PVS-Studio ile Windows, Linux ve macOS üzerinde, desteklenen programlama dilleriyle yazılmış programların kaynak kodlarındaki hatalar ve güvenlik zayıflıkları tespit edilebilir.

PVS-Studio statik kod analizi yapar ve bir programcının kaynak koddaki hataları bulmasına ve düzeltmesine yardımcı olan bir rapor oluşturur. PVS-Studio çok çeşitli kod kontrolleri yapar. Ayrıca yazım yanlışlarını ve kopyala-yapıştır hatalarını aramak için de faydalıdır.

Statik analizin gerçek gücü, en iyi düzenli kullanımda ortaya çıkar. Statik analizin ana fikri, piyasaya sürülmeden bir önceki gün fark edilmeyen bir hatayı bulmak değil, her gün yapılmış olabilecek düzinelerce hatayı kontrol edip düzeltmektir. Böylece hatalar en erken aşamalarda tespit edilir ve giderilir. Bazen saatler harcanarak ancak bulunabilecek hatalar, statik analizle kolayca bulunabilir.

PVS-Studio'nun Analiz Teknolojisi

  • Soyut sözdizimi ağacına dayanan desen temelli analiz, kaynak kodda bilinen hatalı kod düzenlerine benzer bölümler olup olmadığını kontrol etmek için kullanılır.
  • Programın semantik modeline dayanan tür çıkarımı, analiz aracının koddaki tüm değişkenler ve ifadeler hakkında tam bilgi sahibi olmasını sağlar.
  • Sembolik yürütme, hatalara yol açabilecek değişkenlerin değerlerinin hesaplanmasına ve değerlerin aralık kontrolünün yapılmasına izin verir.
  • Veri akışı analizi, çeşitli dil yapılarını işlerken değişkenlerin değerlerine uygulanan sınırlamaları değerlendirmek için kullanılır. Örneğin, bir değişkenin if/else bloğunda alabileceği değerleri görmek için kullanılabilir.
  • Metod açıklamaları, kullanılan metodlar hakkında yalnızca imzaları analiz edilerek elde edilebileceğinden daha çok bilgi sağlar.

PVS-Studio'nun Başlıca Özellikleri

  • Visual Studio 2010-2017 ile basit ve sorunsuz bütünleşme
  • Bağımsız dosyaların yeniden derlenmesinden sonra otomatik analizi
  • Programda, internet sitesinde ve belgelerde bulunan tüm tanılamalarla ilgili PDF olarak da sunulan 550 sayfalık çevrimiçi başvuru kılavuzu
  • Analiz sonuçlarını kaydetme ve yükleme
  • Analiz sonuçlarını kaynak kod üzerinde gezinmeye imkan veren yapıda HTML olarak kaydetme
  • Kullanılacak çekirdek sayısını belirleme imkanıyla çok çekirdekli ve çok işlemcili sistem desteği
  • Analiz sonuçları için etkileşimli filtreleme
  • Otomatik güncelleme kontrolü
  • Bulunan hatalar hakkında e-posta bildirimleri gönderme
  • Linux ve macOS altında geliştirilen projelerle bütünleşme için çok sayıda seçenek
  • Belirli bir kod parçasındaki belirli bir tanılamayı bastırmak için kodu yanlış alarm olarak işaretleme seçeneği
  • Yalnızca yeni kodda bulunan hatalara odaklanmayı sağlamak için eski kodlara ait mesajları gizleme seçeneği
  • Dosyaları ad, dizin veya belli bir maskeye göre analiz dışı bırakma ve sadece son n gün boyunca değiştirilen dosyalar üzerinde analiz yapma imkanı
  • Sürekli analiz ve kod kalitesinin ölçülmesi için tasarlanmış açık kaynaklı bir platform olan SonarQube ile bütünleşme

Kaynaklar

Yorumlar

Bu blogdaki popüler yayınlar

Diğer Dillerde Hoşçakal

Mızıka Tabları Nasıl Okunur

conio.h