CHAPTER 06
6. 수집 자동화와 수정 전후 보고서를 동일 형식으로 만든다
명령, artifact, raw evidence, decode version, 판정과 요약을 한 run directory에 저장합니다. 사람이 편집한 표보다 원본에서 다시 생성 가능한 보고서를 기준으로 regression을 운영합니다.
immutable raw
raw dump와 파형은 덮어쓰지 않고 decode/그래프를 다시 생성합니다.
schema
run마다 같은 field와 단위를 사용해 자동 diff가 가능해야 합니다.
provenance
script와 decoder commit, tool version과 command line을 남깁니다.
regression
수정한 한 사례뿐 아니라 cold/warm/load/feature matrix를 다시 실행합니다.
기록 항목과 판정 기준
| 항목 | 수집 방법 | 필수 metadata | 통과 기준 | 누락 시 위험 |
|---|---|---|---|---|
| run manifest | 자동 script | identity, command, seed | 모든 run에 존재 | 재실행 불가 |
| raw evidence | binary/CSV/register dump | hash, unit, source | immutable 보존 | 가공 중 정보 손실 |
| decoder | versioned tool | commit, register schema | 같은 raw에서 재생성 | 해석 변경 추적 불가 |
| result | machine-readable JSON | threshold, pass/fail, reason | 자동 판정 | 사람마다 결론 다름 |
| comparison | report generator | baseline/candidate run ID | 첫 차이와 효과 표시 | 선택적 결과 보고 |
실패한 실험을 바로잡는 표
| 증상 | 문제점 | 다시 고정할 변수 | 재시험 | 유효한 결론 |
|---|---|---|---|---|
| script 재실행 결과 다름 | 환경/seed 미기록 | manifest | clean run 비교 | 재현성 부족 |
| 그래프만 있고 raw 없음 | 재해석 불가 | 원본 보존 | capture 다시 수행 | 증거 불충분 |
| decoder 업데이트로 값 변경 | schema/version 없음 | decoder provenance | 구/신 decoder 동시 실행 | 해석 변화 |
| 한 사례만 수정 성공 | matrix 미실행 | regression set | 전체 조건 자동 실행 | 일반화 검증 |
| 보고서와 파일 불일치 | 수동 편집 | hash/자동 생성 | manifest에서 재생성 | provenance 오류 |
실제 검증 절차
| 순서 | 실행 | 남길 증거 | 판정 목적 |
|---|---|---|---|
| 1 | run ID별 directory schema와 manifest를 고정합니다. | 동일 구조 | 자동화 기반 |
| 2 | raw 파일 hash와 decoder version을 결과에 포함합니다. | provenance | 재검증 가능 |
| 3 | baseline과 candidate를 같은 script로 연속 실행합니다. | paired comparison | 수정 효과 |
| 4 | CI 또는 lab scheduler에서 전체 matrix를 반복합니다. | regression history | 재발 검출 |
주의요약 PDF나 HTML은 원본 증거가 아닙니다. 반드시 raw capture와 manifest로 다시 생성할 수 있어야 합니다.
공개적으로 다시 확인할 수 있는 자료
공개되지 않은 vendor register나 integration별 offset을 추측해서 채우지 않았습니다. 아래 제조사 자료, architecture 문서와 Linux v6.18.37 원본에서 다시 확인할 수 있는 범위만 사용했습니다.
Linux ftrace
trace_marker, function graph와 event tracing
Linux DMA API HOWTO
DMA mapping, ownership과 cache synchronization
Linux PCIe AER
PCIe hierarchy error source와 recovery
Linux fault injection
allocation, I/O와 driver 오류 경로 검증