Skip to content

Yeni yazı: Object Code Coverage — DAL A'da Derleyici Boşluğu (DO-178C §6.4.4.2.b)#146

Open
Mavrikant wants to merge 1 commit into
masterfrom
post/2026-06-19-object-code-coverage-do-178c-dal-a
Open

Yeni yazı: Object Code Coverage — DAL A'da Derleyici Boşluğu (DO-178C §6.4.4.2.b)#146
Mavrikant wants to merge 1 commit into
masterfrom
post/2026-06-19-object-code-coverage-do-178c-dal-a

Conversation

@Mavrikant

Copy link
Copy Markdown
Owner

Konu

DO-178C DAL A'da Object Code Coverage — Derleyici Boşluğu ve Source-to-Object İzlenebilirliği.

MC/DC %100 raporuyla yetinmeyen DAL A için DO-178C §6.4.4.2.b (Tablo A-7 hedef 9): derleyici/linker/araç kaynak koddan birebir izlenemeyen ek kod üretirse, o ek kodun da ayrıca doğrulanması gerekir. Yazı bu boşluğu somut ARM Cortex-M disassembly örnekleriyle açıyor ve CAST-12'nin önerdiği risk-tabanlı akış üzerinden pratik bir doğrulama planı çıkarıyor.

Neden seçildi

Hangi derinlik öğesini taşıyor (Bölüm 7)

Bellek/assembly incelemesi — dört somut C → ARM Thumb-2 disassembly örneği:

  1. switch ifadesinin tbb jump table'a dönüşmesi (Cortex-M4 / ARMv7-M).
  2. int64_t bölmesinin libgcc __divdi64 intrinsic'ine devredilmesi.
  3. Yapı kopyalamanın sessiz memcpy çağrısına dönüşmesi.
  4. Ada range check'inin nesne kodda exception dispatch olarak ortaya çıkması.

Ardından CAST-12 risk-tabanlı akışı, -O0 vs -O2 + araç karşılaştırması ve derleyici-nitelendirme yanılgısının düzeltilmesi.

"Bu konuyu Türkçe içerikte bulmak neden zor?"

DO-178C §6.4.4.2.b yorumu, CAST-12 metni, derleyici intrinsic'leri (libgcc destek rutinleri) ve ARM disassembly bilgisinin kesişiminde. Türkçe kaynaklar genelde CAST-12'ye değinmeden geçen kısa özetler; MC/DC ile object code coverage'ı karıştıran yazılar yaygın. Bu yazı kavramsal ayrımı net çiziyor + somut nesne kodu örnekleri veriyor.

Kullanılan kaynaklar (yazı sonunda da var)

  • RTCA DO-178C / EUROCAE ED-12C (2011), §6.4.4.2 ve Tablo A-7 hedef 9.
  • CAST-12, Guidelines for Approving Source Code to Object Code Traceability, FAA, Aralık 2002.
  • Brauer, Dahlweid, Pankrath, Peleska, Source-Code-to-Object-Code Traceability Analysis for Avionics Software: Don't Trust Your Compiler, SAFECOMP 2015, LNCS 9337.
  • AdaCore code traceability study, Rapita / LDRA tarafından yayımlanan endüstri rehberleri.
  • FAA AC 20-115D.
  • ARM Architecture Reference Manual (ARMv7-M) — TBB/TBH komutları.
  • libgcc Integer-library-routines dokümantasyonu.

Tüm kaynak bağlantıları gerçek ve erişilebilir; Brauer ve diğerleri 2015 makalesinin yazarları ilk taslakta hatalı yazılmıştı, web doğrulamasıyla düzeltildi.

Öz-eleştiri özeti (Bölüm 6 — Eleştirmen fazı)

  • Derinlik öğesi sözde mi gerçek mi? Gerçek — dört disassembly örneği gerçek arm-none-eabi-gcc -O2 çıktısının temsili, tbb opcode'u ARMv7-M ARM'a uygun.
  • Klişe / dolgu paragraf var mı? Çıkarıldı; sonuç paragrafı pratik 6 maddeye indirildi.
  • Gizlilik ihlali? Yok — hiçbir proje/müşteri/kod adı yok; tüm içerik açık standartlar ve hakemli literatürden.
  • Olgu doğrulamaları: §6.4.4.2.b ✓ (LDRA + Rapita), CAST-12 tarihi ✓ (FAA + Wikipedia), Brauer ve diğerleri yazar listesi ✓ (web doğrulaması).

Öz-denetim kontrol listesi

  • Konu hiçbir yayınla/PR ile çakışmıyor (MC/DC PR Yeni yazı: MC/DC Kapsama — DO-178C DAL A'da Modified Condition/Decision Coverage #77 source-level; bu object-level).
  • Altı seçim kriteri sağlandı; sertifikasyon alt-alanına rotasyon.
  • "Bu konuyu bulmak neden zor" yanıtlandı.
  • En az bir somut derinlik öğesi (disassembly inceleme × 4).
  • Her olgusal iddia doğrulandı (sürüm/tarih/sayı).
  • Kaynaklar gerçek ve erişilebilir.
  • Gizli/proje-spesifik/ihracat-kontrollü bilgi yok.
  • Ön bilgi bloğu mevcut yazılarınkiyle birebir aynı (MISRA C yazısıyla karşılaştırıldı).
  • Türkçe + İngilizce alt-başlık var; birinci tekil şahıs, sahadan ton.
  • Dal: post/2026-06-19-object-code-coverage-do-178c-dal-a, dosya: _posts/2026-06-19-object-code-coverage-do-178c-dal-a.md.
  • master'a hiçbir şey push edilmedi; teslim yalnızca PR.
  • agent/topics.md defteri güncellendi.

Karar yalnızca insana ait — ajan kendi PR'ını merge etmez.

🤖 Generated with Claude Code

DO-178C §6.4.4.2.b ve Tablo A-7 hedef 9 üzerinden, MC/DC source-level
kapsamasının kapatamadığı boşluğu inceliyor: derleyicinin kaynağa
doğrudan izlenemeyen ek kod üretmesi (jump table, libgcc intrinsic'leri,
implicit memcpy, range check) ve bunun DAL A için ek doğrulama gereksinimi.

Dört somut ARM Cortex-M disassembly örneği + CAST-12 yorumu + endüstri
yaklaşımlarının (LDRA/Rapita/VectorCAST + DO-330 TQL-5) karşılaştırması.

agent/topics.md defteri bu çalıştırma için güncellendi.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant