2015년 8월 6일 목요일

확장가능한 Concolic 테스팅 접근 : 경험적 평가

소프트웨어 테스팅은 소프트웨어의 Quality 를 높이는데 표준이 되는 방법이지만 기존의 일반적 테스팅 방법은 fault 를 찾는데 자주 실패합니다 . Concolic 테스팅은 이러한 문제점을 완화시키기 위해 fault 를 찾는 테스트 케이스 생성을 자동화함으로써 가능한 한 많은 프로그램 실행경로를 탐색하려는 시도를 합니다 . 하지만 Concolic 테스팅은 수많은 실행경로를 탐색하기 위해 상당한 시간을 필요로 하기 때문에 실제적용에는 한계를 가지고 있습니다 . 

본 연구는 이러한 한계를 다루기 위해 기존의 Concolic 접근을 많은 수의 컴퓨터를 활용하여 사용할 수 있도록 확장함으로써 테스트 케이스의 생성을 활용되는 컴퓨터 수에 비례하여 빠르게 하는데 그 목적이 있습니다 .

동적 테스팅 기법은 산업체 또는 기관에서 소프트웨어의 Quality 를 높이는데 가장 많이 사용되는 기법이지만 소프트웨어의 많은 실행경로 때문에 테스트 케이스를 버그를 찾을 수 있을 만큼 충분하게 만드는 것에는 현실적인 어려움이 있습니다 . 이러한 한계를 극복하기 위해서 Concolic(CONCrete + symbOLIC) testing[1] 기법이 제시되었지만 가능한 실행경로들을 탐색하는데 상당한 시간이 걸려서 실제적인 적용이 어렵습니다 . 
본 연구에서는 이러한 한계를 극복할 수 있는 Scalable COncolic testing for REliable software(SCORE) framework 를 제시합니다 . SCORE 는 분산된 Concolic 알고리즘으로써 많은 수의 컴퓨팅 노드를 확장가능하고 , 많은 수의 컴퓨팅 노드가 동시에 실행되면서 테스트케이스를 생성하도록 함으로써 테스트 케이스의 생성속도를 컴퓨팅 노드의 수에 비례하여 선형적으로 증가하게 할 수 있도록 합니다 .
  • 분산된 Concolic 알고리즘
  • SCORE 알고리즘
  • 노드들간의 통신
  • SCORE 구현
  • 성능분석

자세히 보기 →

댓글 없음 :

댓글 쓰기