Splint

Türkçe karşılığı: SplintAlan: Program Analysis

C kaynak kodunu lint kontrolleri ve geliştirici annotation'larıyla inceleyen tarihsel statik kontrol aracı.

Teknik Bağlam

Splint, geleneksel lint kontrollerini kaynak koda eklenen annotation'larla güçlendirir. Use-before-definition, unreachable code, ignored return value ve fall-through gibi kontrollerin yanında pointer, global state ve fonksiyon sözleşmelerine ilişkin ek varsayımlar ifade edilebilir.

Annotation yaklaşımı, programcı niyetinin bir bölümünü makine tarafından denetlenebilir hale getirir. Buna karşılık annotation'ların doğruluğu ve bakımı analiz zincirinin sorumluluğuna dönüşür.

Sınırlar

Splint'in bugünkü değeri büyük ölçüde tarihsel ve kavramsaldır; güncel C toolchain davranışını temsil ettiği varsayılmamalıdır.

İlgili Makale

İlgili teknik yayınlar

Başlık veya özetinde bu kavrama doğrudan karşılık gelen yayınlar.

MISRA C ve Statik Kod Analizi

Gömülü ve kritik C yazılımında MISRA C, Cppcheck, Splint, Astrée ve TI Code Composer Studio üzerinden statik analizin garanti sınırlarını; lexical taramadan abstract interpretation'a uzanan analiz katmanlarıyla inceliyorum.