임베디드 소프트웨어를 위한 OS 레벨 리코드-리플레이 기법

Title
임베디드 소프트웨어를 위한 OS 레벨 리코드-리플레이 기법
Other Titles
OS-level Record-Replay Methods for Embedded Software
Author
맹지찬
Alternative Author(s)
Maeng, Ji Chan
Advisor(s)
유민수
Issue Date
2013-02
Publisher
한양대학교
Degree
Doctor
Abstract
임베디드 시스템이 갈수록 고성능, 다기능화 되어감에 따라 소프트웨어의 복잡도가 크게 증가하고 있다. 이러한 임베디드 소프트웨어의 복잡도 증가는 소프트웨어의 결함 증가로 이어지며, 이로 인해 디버깅의 중요도가 높아져가고 있다. 임베디드 소프트웨어 개발에서 디버깅 시에 사용되는 전통적인 순환 디버깅 기법은 오류의 현상을 반복적으로 재현하면서 원인을 추적, 제거하는 방법이다. 이러한 순환 디버깅 방법은 오류가 반복적으로 재현이 가능함을 전제로 한다. 하지만 공유 자원에 대한 경합이나 시간에 민감한 소프트웨어의 경우에는 재현이 불가능한 오류를 포함하는 경우가 있다. 본 논문에서는 이러한 재현 불가능한 오류를 재현할 수 있도록 지원하는 임베디드 소프트웨어를 위한 리코드-리플레이 기법을 제안한다. 리코드-리플레이 기법은 런타임에 시스템의 실행 상태를 기록해 두었다가 나중에 시스템의 행위를 동일하게 재현하는 기법이다. 본 논문에서는 하드웨어 수준에서 발생하는 이벤트, 즉 하드웨어 인터럽트의 발생을 기록하고 이를 재현함으로써 시스템의 행위를 재현하는 기법을 제안한다. 제안하는 기법에서는 추가적인 하드웨어의 사용 없이 이벤트의 발생한 시점을 정확하게 기록하고 재현함으로써 시간에 민감한 소프트웨어의 경우에도 정확한 타이밍으로 재현이 가능하다. 본 논문에서는 이벤트를 기록하고 재현하는 핵심 요소에 따라 타임스탬프와 트랩 명령어를 사용하는 기법과 명령어 카운터와 브레이크포인트를 사용하는 기법의 두 가지 기법을 제안하며 브레이크포인트를 사용하는 기법에서는 싱글스테핑을 사용하는 이벤트 재현 기법에 더하여 명령어 카운터의 오버플로우 인터럽트를 사용하는 이벤트 재현 기법을 추가로 제시한다. 제안하는 기법들은 각각 다른 하드웨어상에 구현하였으며, 간단한 실험을 통해 실용성을 검증하였다.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/133486http://hanyang.dcollection.net/common/orgView/200000421704
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE