Sequencing Constraints-based Regression Testing of Concurrent Programs After Specification Changes

명세 변경 후 병행 프로그램의 순서 제약조건 기반 회귀 테스팅

  • 김현수 (금오공과대학교 컴퓨터공학부) ;
  • 정인상 (한성대학교 정보전산학부) ;
  • 배현섭 (한국전자통신연구원) ;
  • 권용래 (한국과학기술원 전산학과) ;
  • 이동길 (한국전자통신연구원 개발환경연구실)
  • Published : 2000.04.15

Abstract

This paper describes a new technique known as specification-based regression testing that is used for the revalidation of concurrent programs after changes are made to specifications. This type of regression testing requires sequencing constraint that specify precedence relations on the synchronization events. In order to extract sequencing constraint automatically, we use Message Sequence Charts(MSCs) that are considered partial and nondeterministic specifications. We show how to identify which sequencing constraint is affected by the modifications made to a specification rather than creating new sequencing constraint from scratch to reduce the cost of regression testing. We also describe how to determine that each affected sequencing constraint is satisfied by a program being tested.

이 논문에서는 명세에 변경이 가해진 후에 병행 프로그램을 재검증하기 위해 사용하는 명세기반 회귀 테스팅이라는 새로운 기법에 대해 논의한다. 이러한 형태의 회귀 테스팅은 이벤트에 대해 선후 관계를 기술하는 순서 제약조건을 필요로 한다. 순서 제약조건을 자동으로 추출하기 위해서 우리는 메시지 순차도(MSC)를 사용한다. 메시지 순차 도를 통해 부분적이고 비결정적인 명세를 작성할 수 있다. 회귀 테스팅의 비용을 줄이기 위하여 처음부터 새로운 순서 제약조건을 생성하기보다는 명세에 가해진 변경에 의해 영향받는 순서 제약조건을 어떻게 파악하는 가에 대해 기술한다. 또한 각각의 영향받는 순서 제약조건들이 테스팅 될 프로그램에 의해 만족되는 가를 결정하는 방법에 대해서도 기술한다.

Keywords

References

  1. R. H. Carver and K. C. Tai, 'Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs,' IEEE Trans. on Software Eng., Vol. 24, No. 6, pp. 471-490, June 1998 https://doi.org/10.1109/32.689403
  2. E. Rudolph, J. Grabowski, and P. Graubmann, 'Tutorial on Message Sequence Charts (MSC'96),' Tutorial of the FORTE/PSTV'96 conf., October 1996
  3. ITU-T Recommendation Z.120: Message Sequence Chart (MSC), April 1996
  4. 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, 1994 https://doi.org/10.1109/APSEC.1994.465255
  5. 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, 1994 https://doi.org/10.1109/APSEC.1994.465256
  6. I. S. Chung, H. S. Kim, H. S. Bae, and Y. R. Kwon, 'Testing of Concurrent Programs based on Message Sequence Charts,' Proc. of Int'l Symp. on Soft. Eng. for Parallel and Distributed Systems, pp. 72-82, 1999 https://doi.org/10.1109/PDSE.1999.779740
  7. H. AboElFotoh, O. Abou-Rabia, and H. Ural, 'A Test Generation Algorithm for Systems Modelled as Nondeterministic FSMs,' IEE Software Eng. Journal, pp. 184-188, July 1993
  8. G. v. Bochmann and A. Petrenko, 'Protocol Testing: Review of Methods and Relevance for Software Testing,' Proc. of Int'l Symp. on Software Testing and Analysis, pp. 109-124, 1994 https://doi.org/10.1145/186258.187153
  9. 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
  10. 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
  11. 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
  12. I. S. Chung, H. S. Kim, H. S. Bae, and Y. R. Kwon, 'Testing of Concurrent Programs After Specification Changes,' Proc. of Int'l Conf. on Software Maintenance, pp. 199-208, 1999
  13. 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
  14. G. Rothermel and M. J. Harrold, 'Analyzing Regression Test Selection Techniques,' IEEE Trans. on Software Eng., Vol. 22, No. 8, pp. 529-551, August 1996 https://doi.org/10.1109/32.536955