초록
병렬 프로그램 테스팅을 위한 기존의 연구는 대부분 프로그램 수행 중에 얻어진 이벤트 트레이스(event trace)를 바탕으로 재수행성을 보장하는데 중점을 두고 있다. 반면에 개발과정에서 만들어진 요구/설계 명세로부터 테스팅을 위한 이벤트 시퀀스를 생성하는 방법에 대한 연구는 빈약한 실정이다. 이 논문에서는 통신 소프트웨어 개발 분야에서 광범위하게 사용되는 메시지 순차도(MSC)로부터 병렬 프로그램의 모듈 테스팅을 위한 이벤트 시퀀스를 생성하는 방법을 제시한다. 명세로부터 이벤트 시퀀스를 생성하기 위해서는 명세 내에 묵시적으로 포함되어 있는 이벤트들과 그들 간의 선후관계를 파악해야 한다. 이를 위해서 이 연구에서는 프로그램 수행 중에 이벤트들의 발생 순서를 결정하기 위해 사용해오던 논리시간 벡터(logical time stamp)를 MSC 명세에 적용함으로써 이벤트 간의 선후관계를 추출한다. 또한 이를 바탕으로 이벤트 시퀀스를 자동 생성하는 방법을 제시하고 전화 통화 예제를 사용해서 제시한 방법의 효용성을 보인다.
Most of prior works on testing parallel programs have concentrated on how to guarantee the reproducibility by employing event traces exercised during executions of a program. Consequently, little work has been done to generate meaningful event sequences, especially, from specifications. This paper describes techniques for deriving event sequences from Message Sequence Charts(MSCs) which are widely used in telecommunication areas for its simplicity in specifying the behaviors of a program. For deriving event sequences from MSCs, we have to uncover the causality relations among events embedded implicitly in MSCs. In order to attain this goal, we adapt vector time stamping which has been previously used to determine the ordering of events taken place during an execution of interacting processes. Then, valid event sequences, satisfying the causality relations, are generated according to the interleaving rules suggested in this paper. The feasibility of our testing technique was investigated using the phone conversation example. In addition, we discussed on the experimental results gained from the example and how to combine various test criteria into our testing environment.