Skip to main content
QUICK REVIEW

[논문 리뷰] Regression Testing of Virtual Prototypes Using Symbolic Execution

Bin Lin, Dejun Qian|arXiv (Cornell University)|2016. 01. 22.
Software Testing and Debugging Techniques참고 문헌 26인용 수 5
한 줄 요약

이 논문은 소프트웨어 버전 간 가상 프로토타입의 버그 검출을 위한 기반으로 기호 실행 기반 접근법을 제안한다. 새로운 버전에서 수집한 경로 제약 조건을 활용해 이전 버전에서 기호 실행을 유도함으로써, 장치 상태를 체계적으로 비교하여 행동 차이를 탐지한다. 실제 가상 프로토타입에서 높은 효율성과 효과성을 입증하여 버그를 효과적으로 식별함을 보여준다.

ABSTRACT

Recently virtual platforms and virtual prototyping techniques have been widely applied for accelerating software development in electronics companies. It has been proved that these techniques can greatly shorten time-to-market and improve product quality. One challenge is how to test and validate a virtual prototype. In this paper, we present how to conduct regression testing of virtual prototypes in different versions using symbolic execution. Suppose we have old and new versions of a virtual prototype, we first apply symbolic execution to the new version and collect all path constraints. Then the collected path constraints are used for guiding the symbolic execution of the old version. For each path explored, we compare the device states between two versions to check if they behave the same. We have applied this approach to a widely-used virtual prototype and detected numerous differences. The experimental results show that our approach is useful and efficient.

연구 동기 및 목표

  • 전자 및 임베디드 시스템 개발의 반복적 개발 주기 동안 가상 프로토타입 검증의 과제를 해결하기 위해.
  • 기존 및 신규 버전의 가상 프로토타입 간 행동 차이를 자동으로 탐지함으로써 수동 버그 검출의 노력과 위험을 줄이기 위해.
  • 가상 플랫폼에서의 버그 조기에 정밀하게 식별함으로써 시장 진입 기간 단축과 제품 품질 향상에 기여하기 위해.
  • 기호 실행을 활용해 가상 프로토타입 버전 간의 功能 일관성을 정확하고 확장 가능한 방법으로 검증하는 데 목적이 있다.

제안 방법

  • 기호 실행을 신규 버전의 가상 프로토타입에 적용하여 실행 경로를 따라 모든 경로 제약 조건을 추출한다.
  • 신규 버전에서 수집한 경로 제약 조건을 재사용하여 이전 버전에서 기호 실행을 유도함으로써 동일한 경로 탐색을 보장한다.
  • 양 버전의 대응 경로마다 장치 상태(예: 레지스터 값, 메모리 내용)를 비교하여 행동 불일치를 탐지한다.
  • 기호 실행이 동시에 여러 입력 경로를 탐색할 수 있는 능력을 활용하여 테스트 커버리지와 정밀도를 향상시킨다.
  • 경로 제약 조건를 만족하는 입력을 생성하기 위해 제약 조건 솔버를 사용하여 복잡한 제어 흐름을 시스템적으로 탐색한다.
  • 임베디드 소프트웨어의 실제 검증을 지원하기 위해 가상 플랫폼 환경에 이 방법을 통합한다.

실험 결과

연구 질문

  • RQ1기호 실행은 서로 다른 가상 프로토타입 버전 간 행동적 버그를 효과적으로 식별할 수 있는가?
  • RQ2신규 버전에서 유도한 경로 제약 조건를 어떻게 활용해 이전 버전의 테스트를 유도할 수 있는가?
  • RQ3이 방법은 실제 가상 프로토타입에서 기능적 차이를 탐지할 때 확장성과 정밀도가 어느 정도인가?
  • RQ4기존의 전통적 버그 검출 방법과 비교해 이 방법의 테스트 커버리지와 거짓 경고 비율은 어떻게 되는가?

주요 결과

  • 이 방법은 널리 사용되는 가상 프로토타입의 이전 및 신규 버전 간 수많은 행동 차이를 성공적으로 탐지하였다.
  • 신규 버전에서 유도한 제약 조건를 기반으로 경로를 체계적으로 탐색함으로써 높은 테스트 커버리지를 달성하였다.
  • 기호 실행의 활용으로 수동 테스트 케이스 작성의 필요성이 감소하였고, 버그 검출의 정밀도가 향상되었다.
  • 실험적 평가를 통해 이 방법이 실제 임베디드 시스템 개발 워크플로우에서 효율적이고 실용적임을 확인하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.