DOI QR코드

DOI QR Code

Automated Black-Box Test Case Generation for MC/DC with SAT

SAT를 이용한 MC/DC 블랙박스 테스트 케이스 자동 생성

  • Published : 2009.12.31

Abstract

Airbone software must comply the DO-178B standard in order to be certified by the FAA. The standard requires the unit testing of safety-critical software to meet the coverage criterion called MC/DC(Modified Condition/Decision Coverage). Although MC/DC is known to be effective in finding errors related to safety, it is also true that generating test cases which satisfy the MC/DC criterion is not easy. This paper presents a tool named MD-SAT which generates MC/DC test cases with SAT(SATisfiability) technology. It can be employed for generating diverse test cases in tools implementing various testing techniques including decision table based test, cause-effect graphing, and state-based test.

항공 소프트웨어가 FAA(미국연방항공청)에 승인받기 위해서는 DO-178B 표준에 따라야 한다. DO-178B에서는 안전 필수 소프트웨어의 단위 테스트가 MC/DC 기준을 만족하기를 요구하고 있다. MC/DC에 따른 테스트는 안전성과 관련된 오류를 효과적으로 찾을 수 있는 수단으로 알려져 있지만 MC/DC를 만족하는 테스트 케이스를 생성하는 작업이 용이하지 않는 것도 사실이다. 이 논문에서는 MD-SAT이라고 명명한 SAT(SATisfiability) 기술을 사용하여 MC/DC를 만족하는 테스트 케이스를 자동으로 생성하는 도구에 대해 소개한다. 이 도구는 결정표 기반 테스트, 인과 그래핑 및 상태 전이 테스트 방법을 구현한 도구에서 보다 다양한 테스트 케이스 생성을 위해 사용될 수 있다.

Keywords

References

  1. RTCA/DO-178B, “Software Considerations in Airborne Systems and Equipment Certification,” RTCA, Washington D.C., 1972
  2. K. J. Hayhurst, D. D. Veerhusen, J. J. Chilenski, and L. K. Rierson, “A Practical Approach to Modified Condition/ Decision Coverage,” Proc. the 20th Digital Avionics Systems Conf.(DASC), pp. 1B2/1-1B2/10, FL., USA, Oct., 2001
  3. A. Dupuy and N. Leveson, “An Empirical Evaluation of the MC/DC Coverage Criterion on the HETE-2 Satellite Software,” Proc. the 19th Digital Avionics Systems Conf.(DASC), Phil., USA., RTCA, Washington D.C., Oct., 2000
  4. K. Kapoor and J. Bowen, “Experimental Evaluation of the Variation in Effectiveness for DC, FPC and MC/DC Test Criteria,” Proc. the 2003 International Symp. on Empirical Software Eng.(ISESE), pp.185-194, 2003
  5. 김형태, “소프트웨어 테스트 커버리지 요건 및 규제방향”, NUPIC 2009 제1회 원전계측제어 심포지움, 충무 마리나리조트, Nov., 2009
  6. M. W. Moskewicz, Y. Zhao, L. Zhang, and Malik, “Chaff: Engineering an Efficient SAT solver," In Proc. 38th Design Automation Conference(DAC), pp.530-535, 2001 https://doi.org/10.1145/378239.379017
  7. E. Goldgerg and Y. Nivikov, “BerkMin: A Fast and Robust SAT solver,” In DATE, pp.142-149, 2002
  8. J. P. Marques-Silva and K. A. Sakallah, “GRASP: A Search Algorithm for Propositional Satisfiability,” IEEE Trans.. on Computers, Vol.48, pp.506-521, 1999 https://doi.org/10.1109/12.769433
  9. http://www.sat4j.org
  10. A. P. Mathur, 'Foundations of Software Testing,' 1st ED., Addison-Wesley, 2008
  11. J. J. Chilenski, “An Investigation of Three Forms of the Modified Condition Decision Coverage(MCDC) Criterion,” Technical Report DOT/FAA/AR-01/18, , US Depart. of Transportation, Washington, DC., 2001
  12. 정인상., “SAT에 기반한 포인터가 있는 프로그램을 위한 목적지향 테스트 데이터 생성”, 인터넷정보학회논문지, 제9권 2호, pp.89-105, 2008
  13. 정인상., “SAT를 기반으로 하는 플래그 변수가 있는 프로그램테스팅을 위한 테스트 데이터 자동 생성”, 정보처리학회논문지, 제16-D권 제3호, pp.371-380, 2009 https://doi.org/10.3745/KIPSTD.2009.16-D.3.371
  14. J. Edvardsson, “A Survey on Automatic Test Data Generation”, In Proc. the Second Conf. on Computer Science and Engineering, pp.21-28, 1999
  15. I.S. Chung and J. M. Bieman, “Generating Input Data Structures for Automated Program Testing”, Software Testing, Verification and Reliability, Vol.19, pp.3-36, 2009 https://doi.org/10.1002/stvr.388
  16. M. Harman, R. Hu, R. Hierons, A. Baresel, and M. Sthamer, “Improving Evolutionary Testing by Flag Removal”, Information and Software Test Technology, Vol.43, No.14, pp.841-854, 2001 https://doi.org/10.1016/S0950-5849(01)00190-2
  17. S. A. Cook, “The Complexity of Theorem-Proving Procedures”, In. Proc. 3rd ACM Symp. on Theory of Computing, pp.151-158, 1971
  18. D. Jackson, “Alloy: A light weight object modeling notation”, Technical Report 797, MIT Lab for Computer Science, Feb., 2000
  19. N. K. Jha and S. Gupta, 'Testing of Digital Systems', 1st ED., Cambridge University Press, 2003
  20. ftp://dimacs.rutgers.edu/pub/challenge/satisfiability/doc/satformat.dvi
  21. E. Weyuker, T. Goradia, A. Singh, “Automatically Generating Test Data from a Boolean Specification”, IEEE Trans. on Software Eng., Vol.20, No.5, pp.353-363, 1994 https://doi.org/10.1109/32.286420
  22. G. Kaminski, G. Williams, and P. Ammann, “Reconciling Perspectives of Software logic Testing”, Software Testing, Verification and Reliability, Vol.18, pp.149-188, 2008 https://doi.org/10.1002/stvr.386