Development of a Testing Environment for Parallel Programs based on MSC Specifications

MSC 명세를 기반으로 한 병렬 프로그램 테스팅 환경의 개발

  • Published : 2000.04.30

Abstract

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 test cases, especially, from specifications produced from software development process. In this research work, we devise the techniques for deriving test cases automatically from the specifications written in Message Sequence Charts(MSCs) which are widely used in telecommunication areas and develop the testing environment for performing module testing of parallel programs with derived test cases. For deriving test cases from MSCs, we have to uncover the causality relations among events embedded implicitly in MSCs. For this, we devise the methods for adapting vector time stamping to MSCs, Then, valid event sequences, satisfying the causality relations, are generated and these are used as test cases. The generated test cases, written in TTCN, are translated into CHILL source codes, which interact with a target module to be tested and test the validity of behaviors of the module. Since the testing method developed in this research work extracts test cases from the MSC specifications produced front telecommunications software development process, it is not necessary to describe auxiliary specifications for testing. In audition adapting vector time stamping generates automatically the event sequences, the generated event sequences that are ones for whole system can be used for individual testing purpose.

병렬 프로그램 테스팅을 위한 기존의 연구는 대부분 프로그램 수행 중에 얻어진 이벤트 트레이스를 바탕으로 재수행성을 보장하는데 중점을 두고 있다. 반면에 개발과정에서 만들어진 요구 명세로부터 테스트 케이스를 생성하는 방법에 대한 연구는 빈약한 실정이다. 본 연구에서는 통신 소프트웨어 개발분야에서 광범위하게 사용되는 메시지 순차도(MSC)로 작성된 명세로부터 병렬 프로그램의 모듈 테스팅을 위한 테스트 케이스를 자동으로 생성하는 방법을 제안하고 생성된 테스트 케이스를 이용하여 실제 테스팅을 수행할 수 있는 환경을 개발하였다. 명세로부터 테스트 케이스를 자동으로 생성하기 위해서는 명세 내에 묵시적으로 포함되어 있는 이벤트들과 그들 간의 선후 관계를 파악해야 하는데 이를 위해서 본 연구에서는 논리시간벡터를 MSC 명세에 적용하기 위한 방법을 제안하여 이벤트간의 선후 관계인 이벤트 시퀀스를 추출하고 이를 테스트 케이스로 사용한다. 생성된 테스트 케이스는 TTCN 형태로 기술되고 이는 다시 CHILL 소스 코드 형태로 변환되어 테스트 대상이 되는 모듈과 상호 동작하면서 테스팅 대상 모듈의 동작이 기술된 요구 명세의 내용과 합치하는 지를 검사한다. 본 연구에서 개발한 테스팅 방법은 통신소프트웨어 개발 과정에서 산출된 MSC 명세로부터 테스트 케이스를 추출함으로써 테스팅을 위해 별도의 명세를 작성할 필요가 없다. 또한, 논리 시간 벡터를 적용하여 이벤트 시퀀스를 자동 생성할 뿐만 아니라 생성된 이벤트 시퀀스는 시스템 전체의 이벤트 시퀀스로써 독자적인 테스팅 방법으로 사용될 수 있다. TNF-$\alpha$ and NO. These findings suggest that compounds 6 and 11 are modulating various elements of the host immune response.%로서, carbofuran 단독투여와 carbofuran과 PB 또는 3-MC 투여사이에 대사산물의 종류는 같았으나 생성율에는 큰 차이가 있었다. 이와 같은 결과는 쥐에 carbofuran 투여 후 PB나 3-MC를 투여함으로써 carbofuran의 대사가 빠르게 이루어지고, 주 대사산물 중3-hydroxycarbofuran보다 독성 이 낮은 3-ketocarbofuran으로의 대사가 빠르게 이루어지기 때문에 carbofuran의 독성이 경감되어 쥐가 생존할 수 있는 것으로 판단된다.시장젓갈${\lrcorner}$에는 글루타민산, leucine, alanine, lysine의 4종류, ${\ulcorner}$반찬젓갈${\lrcorner}$에는 글루타민산, leucine, alanine의 3종류, ${\ulcorner}$일본병조림젓갈${\lrcorner}$은 글루타민산이 현저하게 많다.회하였다.ollowed fro all Sullungtang samples from Hanwoo. The results showed that the overall quality of Sullungtang significantly decreased

Keywords

References

  1. K. C. Tai, R. H. Carver and E. E. Obaid, 'Debugging Concurrent Ada Programs by Deterministic Execution,' IEEE Trans. on Soft. Eng., Vol. 17, No. 1, pp. 45-63, January 1991 https://doi.org/10.1109/32.67578
  2. T. J. LeBlanc and J. M. Mellor-Crummey, 'Debugging Parallel Programs with Instant Replay,' IEEE Trans. on Computers, Vol. C-36, No. 4, pp. 471-482, 1987. https://doi.org/10.1109/TC.1987.1676929
  3. K. C. Tai and R. H. Carver, 'A Specification-Based Methodology for Testing Concurrent Programs,' Proc. of European Software Eng. Conf., pp. 154-172, 1995
  4. C. Fidge, 'Logical Time in Distributed Computing Systems,' IEEE Computer, Vol. 24, No. 8, pp. 28-33, August 1991 https://doi.org/10.1109/2.84874
  5. E. Rudolph, J. Grabowski, and P. Graubmann, 'Tutorial on Message Sequence Charts (MSC'96),' Tutorial of the FORTE/PSTV'96 conf., October, 1996.
  6. ITU-T Recommendation Z.120: Message Sequence Chart (MSC), September, 1994
  7. 배현섭, 김현수, 권용래, 김한경, '검출 후 재수행 기법을 이용한 메시지 기반 병렬 프로그램의 디버깅,' 정보과학회논문지(B), 제23권, 제2호, pp. 146-157, 1996
  8. E. Itoh, Y. Kawaguchi, Z. furukawa, and K. Ushijima, 'Ordered Sequence Testing Criteria for Concurrent Programs and the Support Tool,' Proc. of Asia Pacific Software Eng. Conf. 1994, pp. 236-245, Tokyo, 1994 https://doi.org/10.1109/APSEC.1994.465256
  9. P. V. Koppol and K. C. Tai, 'An Incremental Approach to Structural Testing of Concurrent Software.' Proc. of Int'l Symp. on Software Testing and Analysis, pp. 14-23, 1996 https://doi.org/10.1145/229000.226298
  10. R. N. Taylor, D. L. Levine, and C. D. Kelly, 'Structural Testing of Concurrent Programs,' IEEE Trans. on Soft. Eng., Vol. 8, No. 3, pp. 206-215, March 1992 https://doi.org/10.1109/32.126769
  11. D. Rosenblum, 'Specifying Concurrent Systems with TSL.' IEEE Software, pp. 52-61, May 1991 https://doi.org/10.1109/52.88944
  12. S. K. Damodaran-Kamal and J. M. Francioni. 'Testing Races in Parallel Programs with an OtOt Strategy,' Proc. of Int'l Symp. on Software Testing and Analysis, pp. 216-227, 1994 https://doi.org/10.1145/186258.187242
  13. J. Grabowski, D. Hogrefe, I. Nussbaumer, and A. Spichiger, 'Test Case Specification Based on MSCs and ASN.1.' Proc. of the Seventh SDL Forum 1995, pp. 307-322, 1995
  14. G. H. Hwang, K. C. Tai, and T. L. Huang, 'Reachability Testing : An Approach to Testing Concurrent Software.' Proc. of Asia Pacific Software Eng. Conf. 1994, pp. 246-255, Tokyo, 1994 https://doi.org/10.1109/APSEC.1994.465255