Copy-to-User 함수 추적을 통한 유저 수준 결정적 리플레이 구현
- Title
- Copy-to-User 함수 추적을 통한 유저 수준 결정적 리플레이 구현
- Other Titles
- User-level Deterministic Replay via Copy-to-User Function Tracking
- Author
- 신한준
- Advisor(s)
- 유민수
- Issue Date
- 2017-02
- Publisher
- 한양대학교
- Degree
- Master
- Abstract
- 컴퓨터 소프트웨어의 크기와 복잡도의 급격한 증가로 인해, 소프트웨어 버그와 결함의 발생 빈도 또한 급격히 증가하고 있다. 이러한 소프트웨어의 문제는 눈에 띄지 않는 사소한 것부터 시스템의 동작을 중단시키고, 파괴하는 큰 규모의 것까지 다양하게 존재한다. 문제를 진단하고, 해결하기 위해 소프트웨어 디버깅이라는 방법을 사용하는데, 대부분의 버그는 소프트웨어 테스팅 과정 중 반복 실행으로 재현하여 원인을 파악하고, 이를 수정하여 문제 해결 여부를 판단하며 디버깅을 성공적으로 수행할 수 있다.
하지만 동기화 문제 같은 특별한 버그들은 단순한 반복 실행을 통해 재현할 수 없다. 이는 특별한 경우에 있어 매 실행 마다 동작의 결과가 바뀔 수 있고, 이로 인해 문제 상황이 간헐적으로 등장하게 되는 것이다. 반복을 통한 재현이 불가능한 문제는 매 실행시마다 달라지는 사건에 의해 발생하는데, 이러한 사건을 비결정적 사건이라 한다. 이러한 사건은 하드웨어 인터럽트나, 소프트웨어 트랩, 프로세스간 통신 등 소프트웨어 내부와는 무관한 외부 세계의 동작에 의해 소프트웨어의 동작이 영향을 받는 것을 의미한다.
리코드-리플레이 기법은 비결정적 사건의 정보를 소프트웨어 동작 중 기록하고, 이 정보를 바탕으로 비결정적인 사건들이 재현 단계에서 결정적으로 발생하도록 하여 비결정적 사건에 의해 진행된 프로그램의 실행 흐름을 기록시의 동작과 동일하게 재현한다. 본 연구에서는 싱글 스레드로 동작하는 유저 영역 어플리케이션의 동작을 재현하기 위해 커널-유저간 자료 전송을 추적한다. 이를 위해 본 연구에서는 모든 커널-유저간 자료 전송을 기록하고 재현하는 방법을 제안한다.
- URI
- https://repository.hanyang.ac.kr/handle/20.500.11754/124206http://hanyang.dcollection.net/common/orgView/200000429547
- Appears in Collections:
- GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE(컴퓨터·소프트웨어학과) > Theses (Master)
- Files in This Item:
There are no files associated with this item.
- Export
- RIS (EndNote)
- XLS (Excel)
- XML