초록
임베디드 시스템은 어플리케이션, OS 커널, 디바이스 드라이버, HAL, 하드웨어와 같은 이질적 계층들이 매우 밀접히 결합되어 있다. 임베디드 시스템은 제품 목적과 탑재된 하드웨어에 따라 맞춤 제작된다. 또한 점점 짧아지는 제품 주기 때문에 여러 업체의 소프트웨어, 하드웨어가 불안정한 상태에서 통합된다. 따라서 모든 계층에 결함 발생 확률이 높다. 임베디드 소프트웨어 개발자는 자신의 코드를 결함이 내재된 다른 계층들과 통합된 상태에서 테스트하며, 이 때문에 테스트해야 할 모든 영역을 테스트하였는지, 자신의 코드가 잘못된 건지, 통합된 다른 소프트웨어나 하드웨어에 문제가 있는 건 아닌지를 확신하기 힘들다. 본 논문은 임베디드 소프트웨어 개발자가 다양한 계층에 내재된 결함 위치와 원인을 추적할 수 있도록 하는 임베디드 소프트웨어 인터페이스 테스트 방안과 이를 구현한 자동화 도구 Justitia를 제안한다. 제안하는 기술은 개발자를 돕기 위한 이뮬레이터를 이용한 디버깅을 전문적인 테스팅으로 승화시킨 자동화 방안이다.
Embedded system is tightly coupled with heterogeneous layers such as application, as kernel, device driver, HAL and hardware. Embedded system is customized for the specific purpose and hardware. In addition, the product cycle is so fast that software and hardware, which are developed by several vendors, are integrated together under unstable status. Therefore, there are lots of possibilities of faults in all layers. Because embedded software developers test their codes integrated with faulty layers, they cannot confirm 'whether testing of every aspects was completed, their code was failed, or integrated software/hardware has some problems'. In this paper, we propose an embedded software interface test method and a test tool called Justitia for detecting faults and tracing causes in the interface among heterogeneous layers. The proposed technique is an automated method which improves debugging upto professional testing using an emulator for helping developer.