동적 바이너리 계측을 이용한 최적화된 프로그램의 정확한 분기 커버리지 측정

코드 커버리지는 소프트웨어 테스팅에서 가장 기초적인 측정 항목 중 하나이다. 하지만 리소스가 부족한 임베디드 환경에서 프로그램의 코드 커버리지를 정확하게 측정하는 것은 어렵다. 먼저, 최적화를 생략하거나 추가 계측 코드를 삽입하는 기존의 방법은 프로그램 바이너리의 크기를 증가시키므로 메모리가 부족한 환경에서 적용하기 어렵다. 그리고 소스 코드를 컴파일할 때 코드를 최적화하는 과정에서 커버리지 측정 위치가 불명확해지기 때문에, 코드 커버리지를 정확하게 측정하기 어렵다. 본 논문에서는 위의 문제를 해결하여, 동적 바이너리 계측을 이용하여 메모리 증가 없이 베이직 블록 커버리지를 최대 99.9% 정확도로 측정할 수 있는 새로운 방법을 제안한다.