DOI QR코드

DOI QR Code

코드 커버리지를 높이기 위한 상태 머신 변환 방법

Transformation Method for a State Machine to Increase Code Coverage

  • 윤영동 (부산대학교 전기전자컴퓨터공학과) ;
  • 최현재 (부산대학교 전기전자컴퓨터공학과) ;
  • 채흥석 (부산대학교 정보컴퓨터공학부)
  • 투고 : 2015.07.20
  • 심사 : 2016.07.04
  • 발행 : 2016.09.15

초록

모델 기반 테스팅은 시스템의 행위를 표현하는 모델을 시스템 명세로 활용하여 테스트를 수행하는 기술이다. 자동차, 국방/항공, 의료, 철도, 원자력과 같은 산업 도메인에서는 소프트웨어의 품질 향상을 위해 모델 기반 테스팅과 코드 커버리지 기반 테스팅을 요구하고 있다. 모델 기반 테스팅과 코드 커버리지 기반 테스팅이 모두 요구됨에도 모델과 소스 코드 간의 추상화 수준 차이로 인해 모델 기반 테스팅만으로 높은 코드 커버리지를 달성하는 것이 어려워 모델 기반 테스팅과 코드 커버리지 기반 테스팅이 별도로 수행되어져 왔다. 본 연구에서는 기존의 모델 기반 테스팅의 한계점을 개선하기 위하여 모델 기반 테스팅에서 테스트 모델로서 이용되는 대표적인 모델링 방법 중 하나인 프로토콜 상태 머신을 테스트 모델로서 이용하여 효과적으로 코드 커버리지를 향상시키는 상태 머신 변환 방법을 제안한다. 또한 본 연구에서는 두 시스템을 대상으로 한 사례 연구를 수행하여 제안 방법의 효과성을 분석하였다.

Model-based testing is a technique for performing the test by using a model that represents the behavior of the system as a system specification. Industrial domains such as automotive, military/aerospace, medical, railway and nuclear power generation require model-based testing and code coverage-based testing to improve the quality of software. Despite the fact that both model-based testing and code coverage-based testing are required, difficulty in achieving a high coverage using model-based testing caused by the abstraction level difference between the test model and the source code, results in the need for performing model-based testing separately. In this study, to overcome the limitations of the existing model-based testing, we proposed the state machine transformation method to effectively improve the code coverage using the protocol state machine, one of the typical modeling methods is used as the test model in model-based testing, as the test model. In addition, we performed a case study of both systems and analyzed the effectiveness of the proposed method.

키워드

과제정보

연구 과제번호 : BK21플러스

연구 과제 주관 기관 : 부산대학교

참고문헌

  1. ISO/IEC 26262-6, Road vehicles-Functional safety-Part 6: Product development at the software level, 2011.
  2. RTCA, DO-178C Software considerations in airborne systems and equipment certification, 2012.
  3. IEC 62304, Medical Device - Software Life Cycle Processes, 2006.
  4. EN 50128, Railway applications: Communication, signaling and processing systems, 2012.
  5. IEC 60880 Nuclear power plants Instrumentation and control systems important to safety Software aspects for computer-based systems performing category A functions, 2006.
  6. A. David, M.O. Moller, and W. Yi, "Formal Verification of UML Statecharts with Real-Time extensions," International Conference on Fundamental Approaches to Software Engineering, Springer Berlin Heidelberg, pp. 218-232, 2002.
  7. Y.G. Kim, H.S. Hong, D.H. Bae, and S.D. Cha, "Test Cases Generation from UML State Diagrams," IEE Proceedings-Software, Vol. 146, No. 4, pp. 187-192, 1999. https://doi.org/10.1049/ip-sen:19990602
  8. L.C. Briand, Y. Labiche, and Y. Wang, "Using Simulation to Empirically Investigate Test Coverage Criteria based on Statechart," Proc. of the 26th International Conference on Software Engineering, pp. 86-95, 2004.
  9. H.J. Kohler, U. Nickel, J. Niere, and A. Zundorf, "Integrating UML Diagrams for Production Control Systems," Proc. of the 22nd international conference on Software engineering, pp. 241-251, 2000.
  10. RTCA, DO-178B Software Considerations in Airborne Systems and Equipment Certification, 1992.
  11. OMG, UML 2.0 Superstructure Specification, 2004.
  12. J. Warmer and A. Kleppe, The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Professional, 2004.
  13. N.E. Holt, L.C. Briand, and R. Torkar, "Empirical evaluations on the cost-effectiveness of state-based testing: An industrial case study," Information and Software Technology, Vol. 56, No. 8, pp. 890-910, 2014. https://doi.org/10.1016/j.infsof.2014.02.011
  14. L. Briand, Y. Labiche, Y. Wang, "Using Simulation to Empirically Investigate Test Coverage Criteria based on Statechart," Proc. of the 26th International Conference on Software Engineering, pp. 86-95, 2004.
  15. R.V. Binder, Testing Object-Oriented Systems - Models, Patterns, and Tools, Object Technology, Addison-Wesley, 1999.
  16. J.Hoffer, Eclipse Plugin for Cobertura, http://ecobertura.johoop.de, 2010.
  17. Software-Artifact Infrastructure Repository (SIR), http://sir.unl.edu/portal/index.html, 2009.
  18. S. Weissleder, "Simulated Satisfaction of Coverage Criteria on UML State Machines," 2010 Third International Conference on Software Testing, Verification and Validation, pp. 117-126, 2010.
  19. M. Friske and B.H Schelingloff, "Improving Test Coverage for UML State Machines using Transition Instrumentation," International Conference on Computer Safety, Reliability, and Security, pp. 301-314, 2007.
  20. A. Rajan, M.W. Whalen, and M.P.E. Heimdahl, "TheEffect of Proagram and Model Structure on MC/DC Test Adequacy Coverage," 2008 ACM/IEEE 30th International Conference on Software Engineering, pp. 161-170, 2008.