Skip to main content

Polyspace Code Prover Server

Yazılımda çalışma zamanı hatalarını statik olarak doğrulayın

Polyspace Code Prover Server Nedir?

Polyspace Code Prover Server, C ve C++ ile yazılmış yazılımlarda çalışma zamanı hatalarını statik olarak doğrulamak için kullanılan ileri düzey bir statik kod analizi motorudur. Çalıştırma sırasında ortaya çıkabilecek kritik hatalar örneğin taşma, sıfıra bölme, dizin sınırlarının dışına erişim gibi kodu çalıştırmadan tespit edebilir ve bu hataların hiçbir koşul altında meydana gelip gelmeyeceğini belirler.

Bu ürün özellikle gömülü sistemler, güvenlik kritik yazılımlar ve sertifikasyon gerektiren endüstri projeleri için kritik öneme sahiptir.


Polyspace Code Prover Nasıl Çalışır?

Polyspace Code Prover Server, klasik derleme ya da test tabanlı analizlerden farklı olarak:

Statik Analiz Temelli:
Kodunuzu çalıştırmadan; tüm olası kontrol akışlarını ve veri yollarını analiz eder. Böylece gerçek çalışma zamanına bağlamadan güvenilir sonuçlar üretir.
Interprocedural Analiz:

Tüm fonksiyon çağrılarını, çift yönlü veri akışlarını ve daha karmaşık senaryoları da kapsayacak şekilde analiz yürütür. Bu özellikle büyük ve karmaşık yazılımlar için önemlidir.

Multi-threaded Kod Desteği:

Çoklu iş parçacıklı (multi-threaded) programlarda bile kontrol akışlarını takip ederek hataları ve kritik bölgeleri değerlendirir.

Otomasyon İçin Sunucu Modu:

Sunucu sınıfı makinelerde çalışabilir ve DevOps süreçlerine kolayca entegre edilebilir, örneğin Jenkins gibi CI/CD araçları ile otomatik analiz yapılabilir.

Detaylı Kod Kategorizasyonu:

Her satır için “her zaman güvenli”, “hataya açık”, “ulaşılamaz” veya “kanıtlanamayan” gibi sonuçlar vererek geliştiricilere net bir tablo sunar.

Polyspace analiz süreçlerinde hızlı bir referans olarak kullanılabileceğiniz teknik dokümana buradan erişebilirsiniz.

Temel Özellikleri Nelerdir?

Polyspace Code Prover Server’in öne çıkan özellikleri şunlardır:
Kritik Çalışma Zamanı Hatalarının Yokluğunu Doğrulayın
Kod çalıştırılmadan, tüm olası girdiler ve tüm kod yolları üzerinden analiz gerçekleştirin. Çalışma zamanı koşullarından bağımsız olarak asla run-time hatası üretmeyecek ifadeleri belirleyin ve ek inceleme gerektiren kod bölümlerini tespit edin.
DevOps ve CI/CD Entegrasyonu

Polyspace, mevcut DevOps iş akışları ve araçlarıyla entegre olarak modern yazılım geliştirme pratiklerini destekler.

Jenkins ve Bamboo® gibi yaygın kullanılan sürekli entegrasyon (CI) araçlarıyla uyumlu çalışarak analizlerin otomatikleştirilmesini sağlar. 

Platformdan Bağımsız Analiz

Polyspace Code Prover Server’ı:

  • Kurum içi (on-premise) otomasyon sunucularında
  • Ya da bulut ortamlarında çalıştırabilirsiniz.

MathWorks referans mimarilerini kullanarak Docker, AWS® ve Azure® gibi platformlara kolayca dağıtım yapılabilir.

Endüstri Standartları Desteği
  • IEC 61508, ISO 26262 gibi fonksiyonel güvenlik standartlarına uygun sertifikasyon kitleri bulunur.
  • DO-178C gibi havacılık güvenlik standartları için de destek sağlar.
Global Değişken Kullanımını Analiz Edin

Global değişkenler üzerindeki okuma/yazma işlemlerinden kaynaklanan hata ayıklama süresini azaltın.

  • Korunmayan paylaşımlı değişkenleri
  • Kullanılmayan global değişkenleri
  • Eşzamanlı erişim risklerini net bir şekilde tespit edin.
Statik Uygulama Güvenlik Testi (SAST)

Buffer overflow, bellek erişim hataları ve sayısal taşmalar gibi kritik güvenlik açıklarının yokluğunu doğrulayın.

Kodu çalıştırmadan, tüm kod yolları ve tüm olası girdiler altında analiz yaparak:

  • Fuzz testlerine duyulan ihtiyacı azaltın
  • Güvenlik açıklarını erken aşamada yakalayın
Etki Analizi

Belirli bir global veya lokal değişkenin, diğer değişkenler ya da kod ifadeleri üzerindeki etkisini biçimsel olarak takip edin ve doğrulayın.

  • CARB gereksinimleri kapsamında OBD yazılımları için sinyal analizi
  • ISO 26262 bağlamında etkileşimden bağımsızlık kanıtı
  • Kalibrasyon parametrelerinin etkilerinin analizi
  • Yazılım güvenliği kapsamında taint analizi ve hassas veri akışının izlenmesi

Neden Kullanılmalıdır?

Erken Aşamada Güvenlik ve Kalite Sağlar
Polyspace Code Prover Server, kod daha derlenmeden önce potansiyel kritik hataları ortaya çıkarır. Bu, test sürecinin daha verimli olmasına, risklerin daha erken kontrol edilmesine ve test maliyetlerinin düşmesine katkı sağlar.
Çalışma Zamanı Hatalarını Önleyerek Riskleri Azaltır
Testlerle her kod yolu her zaman kontrol edilemez. Polyspace ile “tüm olası girdiler ve yollar” üzerinden analiz yapılabildiği için çalışma zamanında hata olasılığı ciddi şekilde azaltılır.
Otomasyon ve Süreç Entegrasyonu Kolaydır
DevOps ve CI/CD süreçlerine kolay entegrasyon sayesinde sürekli doğrulama ve kalite izleme sağlanır. Böylece ekipler her commit sonrası analizle kodun durumunu görebilirler.
Endüstri Sertifikasyon Süreçlerini Destekler
IEC, ISO ve DO-178 gibi standartlar için gerekli kanıt ve raporların oluşturulmasına yardımcı olarak sertifikasyon süreçlerini basitleştirir ve belgelendirir.

Polyspace Ürün Ailesi

Polyspace ürünleri, yazılım geliştirme sürecinin tamamında kaliteyi test edip izleyerek kritik kodun güvenliğini ve güvenilirliğini sağlar.

© FİGES A.Ş. Tüm hakları saklıdır. Tasarım ordek.co.