디지털 라이브러리[ 검색결과 ]
검색 : [ keyword: serialization ] (1)
C 프로그램의 동적 및 정적 분석을 통한 시스템 실행에서의 유닛 입력 값 자동 수집 및 재연
http://doi.org/10.5626/JOK.2018.45.10.1035
유닛 테스트의 높은 오류 검출력에도 불구하고, 시스템 문맥을 고려하지 않고 생성된 유닛의 “거짓 입력” 문제가 (즉, 실제 시스템에서는 불가능한 유닛 동작 생성) 있다. 이를 해결하기 위해, 시스템 테스트 케이스의 실행 과정에서 타겟 함수의 호출 시점의 프로그램 상태를 직렬화하고, 이를 역직렬화하여 유닛 테스트 케이스로 사용하는 Carving & Replay (CR) 기술이 있다. 그러나, Java등의 언어와 달리 C언어에서는 자체적인 직렬화 방법이 존재하지 않을뿐더러 포인터, 공용체, 구조체 등의 언어적 특성으로 인해 CR에 어려움이 있다. 본 논문에서는 이러한 문제를 프로그램이 사용하는 메모리의 추적, 동적 분석을 통한 런타임의 정보 활용, 정적 타입 분석을 통한 탐침 코드의 삽입 등을 이용해 해결하여 C언어용 CR 도구를 제시한다.