View : 84 Download: 0

후킹 기반 임베디드 소프트웨어 검증 자동화 방법

Title
후킹 기반 임베디드 소프트웨어 검증 자동화 방법
Other Titles
Hooking based Embedded Software Test Automation
Authors
박지현
Issue Date
2019
Department/Major
대학원 컴퓨터공학과
Publisher
이화여자대학교 대학원
Degree
Doctor
Advisors
최병주
Abstract
자동차나 휴대폰과 같은 다양한 산업 분야에서 임베디드 소프트웨어가 차지하는 비중이 커지고 있으며 검증 역시 중요하게 대두되고 있다. 그러나 임베디드 소프트웨어의 경우에는 일반적인 소프트웨어와 다른 제약으로 인하여 단계적인 검증이 어렵고, 이에 따라 개발 후반에 하드웨어와 통합된 상태에서 검증이 이루어지는 경우가 많다. 그러나 이 때 검출되는 결함은 임베디드 소프트웨어 개발자가 하드웨어 결함인지 소프트웨어 결함인지 구분하기 어려울 뿐만 아니라 소프트웨어 결함으로 구분되더라도 그 원인을 파악하기가 매우 어렵다. 이에 본 논문에서는 후킹 기반의 검증 자동화 방안을 제안한다. 후킹 기법을 이용하여 데이터를 수집함으로써 임베디드 시스템 검증 방안으로 인해 발생할 수 있는 오버헤드를 줄이고 결함 구분 및 결함 탐지에 필요한 정보를 수집한다. 그리고 수집된 정보를 분석하여 결함이 하드웨어 결함인지 소프트웨어 결함인지를 구분하는 방안이다. 또한 소프트웨어 결함 중 결함으로 탐지가 되더라도 실제 원인 분석은 어려운 메모리 결함에 대해 탐지하고 결함 원인 정보를 제공함으로써 디버깅을 용이하게 하는 방안이다. 본 논문에서는 제안하는 방법이 실제 하드웨어와 소프트웨어 결함을 구분하고 메모리 결함에 대해 정확하게 탐지하고 원인을 분석하는지를 입증하기 위하여 자동화 도구를 구현하고 실험을 수행하여 다음과 같은 효과를 보인다. 첫째, 하드웨어와 소프트웨어가 통합된 환경에서 발생할 수 있는 결함 중 결함으로 인한 증상이 유사하여 하드웨어 결함인지 소프트웨어 결함인지 구분이 어려운 결함을 주입하고 실험을 진행함으로써 제안하는 방안이 결함 구분에 효과가 있음을 보인다. 둘째, 제안하는 방안은 시스템을 구성하는 다양한 계층이 상호작용하는 과정에서 소프트웨어 결함이 발생하였을 때, 이를 탐지하고 해결하기 위한 정보를 제공하는 방안이다. 다양한 소프트웨어 결함 중 많은 비중을 차지하는 메모리 결함에 대해 제안하는 방안을 적용하여 결함의 탐지뿐만 아니라 결함의 발생 원인의 분석에 있어서도 유용함을 보인다. 마지막으로 자원이 제약된 임베디드 시스템에 제안하는 방안이 적용되었을 때 발생하는 오버헤드를 측정하여 제안하는 방안이 런타임 환경에 적합함을 보인다.;The percentage of embedded software in various industrial sectors is getting higher, and its test is emerging as an important issue. However, embedded software is difficult to test in phases due to constraints unlike general software. Accordingly, test is often performed in a state of integration with hardware later in development. The defects detected at this time is difficult to distinguish whether they are defects of hardware or those of software. And it is very difficult to identify the cause even if they are determined as the faults of software. Therefore, this dissertation suggests a hooking-based test automation. It is a method of reducing overhead due to the test method in the embedded system by a hooking technique, collecting the information necessary for classifying and detecting defects, analyzing the collected information and determine whether the defects are those of hardware or those of software. Also, it is a method of facilitating the debugging by detecting memory defects whose cause analysis is actually difficult and by providing the cause of defects although they are detected as those of software defects. The paper implemented an automation tool and experiment to verify whether the proposed method will actually distinguish hardware and software defects and accurately detect the defects of memory and analyze the causes, and shows the following effects: First, by injecting the defects difficult to distinguish whether they are the defects of hardware or those of software, and performing an experiment, the proposed method shows it is effective for determining defects. Second, the proposed method is to provide information for detecting and resolving software faults when various layers constituting the system interact with each other. By applying the proposed method to memory defects, it shows useful in detecting defects as well as analyzing the causes of defects. Finally, by measuring the overhead that occurs when the proposed method is applied to the embedded system whose resources are restricted, it shows that the proposed method is appropriate to runtime environments.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > 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