2015년 8월 11일 화요일

높은 동기 커버리지 레벨을 위한 동시성 프로그램 테스팅

본 연구에서는 동시성 프로그램 테스팅 기법의 한계를 극복하기 위해 보다 높은 커버리지 달성을 목표로 하는 새로운 동시 실행 순서 조정 기법을 개발했습니다 . 순차적 프로그램에서 높은 커버리지를 가지는 테스트 케이스들이 오류를 효과적으로 찾아내 듯이 , 동시성 프로그램에서도 적절한 커버리지를 많이 달성하는 테스트 케이스들이 오류를 더욱 효과적으로 찾을 수 있으리라 기대합니다 .

동시구문쌍 (Synchronization-pair) 커버리지를 대상으로 , 커버리지 요구사항을 예측하는 예측 단계와 예측된 요구사항을 토대로 더 높은 커버리지 레벨 달성을 위해 동적으로 대상 프로그램의 동시 실행 순서를 조정하는 테스트 단계를 수행합니다 .  본 연구에서는 총 13 개의 Java 프로그램을 대상으로 제안한 기법이 랜덤기반 기법보다 우수함을 실험을 통해 입증했습니다 .

1. 시각화의 필요성 (1000 피트의 관점)


테스팅은 소프트웨어의 오류를 찾아 품질을 높이는 일련의 과정입니다 . 때문에 좋은 소프트웨어를 위해서는 좋은 테스팅이 필요합니다 . 순차적 프로그램 (Sequential Program) 테스팅에서 테스팅의 품질을 평가하기 위해 커버리지 기법이 사용되어 왔습니다 . 높은 커버리지 레벨을 달성하는 테스트 인풋은 오류를 찾는 능력이 좋다는 사실이 여러 연구 사례에서 보여졌습니다 . 동시성 프로그램의 테스팅 품질을 측정하기 위해서도 동기화구문쌍 , 구문쌍 커버리지 등 여러 가지 커버리지 기법이 소개되었습니다 .

2. 동시성 실행 순서 조정 기법
3. 실험 및 결과
4. 결론 및 추후 연구과제

자세히 보기 →

댓글 없음 :

댓글 쓰기