2026년 8월 23일 94% 테스트 커버리지도 놓친 정수 오버플로우를 symbolic execution이 찾아냈습니다 unit tests는 특정 입력을 검증합니다. symbolic execution은 모든 가능한 입력을 검증합니다. 작동 방식, 비용, 시작 방법을 알아보세요. additional-strategiessymbolic-executiontestingverification
2026년 8월 3일 런타임 에러가 없음을 증명하는 방법(그리고 왜 아마도 포기하게 될 것인지) 추상 해석은 실행 전에 런타임 에러가 불가능함을 증명하게 해줍니다. 실제로 어떻게 작동하는지, 왜 어려운지, 그리고 도구 체인의 어디에 맞는지 알아봅니다. abstract-interpretationstatic-analysisruntime-errorsverification
2026년 7월 25일 정말로 1만 줄을 결함 없이 검증한 사람이 있었을까? IBM은 했고, 그 방법론은 결과보다 이상하다. Cleanroom software engineering은 디버깅 대신 mathematical verification을 통해 zero-defect increment를 약속했다. 우리는 IBM의 실제 프로젝트 데이터를 살펴보아 그 주장이 성립했는지 본다. cleanroom-correctnesszero-defectsverificationcase-study
2026년 7월 9일 AutoVerus는 40시간의 증명 작성을 3회의 LLM 호출로 만든다. 비결은 포기할 때를 아는 것이다. AutoVerus는 LLM 에이전트 네트워크를 사용해 Rust 코드에 대한 Verus 정합성 증명을 생성하며, SMT 솔버 피드백에 의해 구동되는 생성-수정-디스차지 루프를 통해 90% 이상의 증명 의무를 자동화한다. model-checkingautoverusrustverification
2026년 7월 6일 시간 논리를 배우지 않고도 코드를 model checking할 수 있다 Kani 같은 경계 model checker과 Alloy 같은 관계 모델 탐색기는 일반적인 어서션과 제약 조건으로 속성을 검증할 수 있게 한다. 활성 증명을 포기하는 대신, 학습 곡선은 주가 아닌 시간 단위로 측정된다. model-checkingtemporal-logicformal-methodsverification
2026년 7월 5일 한 줄의 증명도 쓰지 않고 Rust 코드의 정확성을 증명할 수 있지만, 상태 공간이 대가다 Kani 같은 model checking 도구를 사용하면 형식적 증명 대신 단언으로 Rust 속성을 검증할 수 있다. 문제는 루프의 경계가 작지 않을 때 무슨 일이 일어나는지다. model-checkingrustverificationformal-methods
2026년 6월 14일 테스트는 두 함수가 동등함을 증명할 수 없다. 이것이 가능한 방법이다. N-version programming은 구현체들이 서로 일치한다고 가정한다. 테스트가 왜 부족한지, SMT solver가 어떻게 실제로 동등성을 증명할 수 있는지, 그리고 '충분히 좋음'과 '형식적으로 검증됨' 사이의 경계를 어디에 그어야 하는지 살펴본다. n-version-programmingequivalence-testingformal-methodsverification