DOI QR코드

DOI QR Code

A Case Study for Mutation-based Fault Localization for FBD Programs

FBD 프로그램 뮤테이션 기반 오류 위치 추정 기법 적용 사례연구

  • 신동환 (한국과학기술원 전산학부) ;
  • 김준호 (한국과학기술원 전산학부) ;
  • 윤원경 (한국과학기술원 전산학부) ;
  • 지은경 (한국과학기술원 전산학부) ;
  • 배두환 (한국과학기술원 전산학부)
  • Received : 2015.09.21
  • Accepted : 2016.01.06
  • Published : 2016.03.15

Abstract

Finding the exact location of faults in a program requires enormous time and effort. Several fault localization methods based on control flows of a program have been studied for decades. Unfortunately, these methods are not applicable to programs based on data-flow languages. A recently proposed mutation-based fault localization method is applicable to data-flow languages, as well as control-flow languages. However, there are no studies on the effectiveness of the mutation-based fault localization method for data-flow based programs. In this paper, we provided an experimental case study to evaluate the effectiveness of mutation-based fault localization on programs implemented in Function Block Diagram (FBD), a widely used data-flow based language in safety-critical systems implementation. We analyzed several real faults in the implementation of FBD programs of a nuclear reactor protection system, and evaluated the mutation-based fault localization effectiveness for each fault.

프로그램 내에서 오류의 정확한 위치를 찾아내는 것은 많은 시간과 노력을 필요로 하는 작업이다. 이러한 문제를 해결하기 위하여 프로그램의 제어 흐름을 이용한 자동화된 오류 위치 추정 기법이 오랫동안 연구되어 왔으나, 데이터 흐름 기반 언어로 작성된 프로그램에 대해서는 적용될 수 없다는 한계가 있다. 최근 개발된 뮤테이션(mutation) 기반 오류 위치 추정 기법의 경우 프로그램의 제어 흐름 대신 뮤턴트(mutant)라 불리는 인공 오류를 활용하기 때문에 데이터 흐름 기반 언어로 구현된 프로그램에 대해서도 활용될 수 있을 것으로 기대되나, 오류 위치 추정 효과성에 대한 연구는 이루어지지 않았다. 본 연구는 데이터 흐름 기반 언어인 Function Block Diagram (FBD)로 구현된 프로그램을 대상으로 뮤테이션 기반 오류 위치 추정 기법이 실제 오류의 위치를 얼마나 정확하게 추정할 수 있는지에 대한 사례 연구를 수행한다. 실제 원자로 보호 시스템 대상 초기 버전에 사용되었던 FBD 프로그램에서 발견된 오류들을 수집하고, 각 오류별 위치 추정의 효과성을 분석한다.

Keywords

Acknowledgement

Grant : (SW 스타랩) 모델 기반의 초대형 복잡 시스템 분석 및 검증 SW 개발, 안전 필수 소프트웨어 FBD 모델 대상 자동화된 테스트 케이스 생성

Supported by : 정보통신기술진흥센터, 한국연구재단

References

  1. Papadakis, Mike, and Yves Le Traon, "Metallaxis-FL: mutation-based fault localization," Software Testing, Verification and Reliability, Vol. 25, No. 5-7, pp. 605-628, 2015. https://doi.org/10.1002/stvr.1509
  2. Jones, J. A., & Harrold, M. J., "Empirical evaluation of the tarantula automatic fault-localization technique," Proc. of the 20th IEEE/ACM international Conference on Automated software engineering, ACM, pp. 273-282, 2005.
  3. IEC: International Standard for Programmable Controllers, Part 3: Programming Languages, 1993.
  4. Doosan Heavy Industry & Construction, "KNICSRPS-SDS231-01, Rev. 01, Software Design Specification for the Bistable Processor of the Reactor Protection System," 2006.
  5. Andrews, J.H., Briand, L.C., Labiche, Y., and Namin, A.S., "Using mutation analysis for assessing and comparing testing coverage criteria," IEEE Transactions on Software Engineering, Vol. 32, No. 8, pp. 608-624, 2006. https://doi.org/10.1109/TSE.2006.83
  6. Just, Rene, et al., "Are mutants a valid substitute for real faults in software testing?," Proc. of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 654-665, 2014.
  7. Jaccard, P., "Etude comparative de la distribution florale dans une portion des Alpes et des Juram," Bulletin del la Societe Vaudoise des Sciences Naturelles, Vol. 37, pp. 547-579, 1901.
  8. Jee, E., Jeon, S., Cha, S., Koh, K., Yoo, J., Park, G., and Seong, P., "FBDVerifier: Interactive and Visual Analysis of Counterexample in Formal Verification of Function Block Diagram," Journal of Research and Practice in Information Technology, Vol. 42, No. 3, pp. 255-272, 2010.
  9. Shin, D., Jee, E., & Bae, D. H., "Comprehensive analysis of FBD test coverage criteria using mutants," Software & Systems Modeling, Online published, 2014.
  10. Masri, Wes, and Rawad Abou Assi, "Prevalence of coincidental correctness and mitigation of its impact on fault localization," ACM transactions on software engineering and methodology (TOSEM), Vol. 23, No. 8, 2014.
  11. Gonzalez-Sanchez, Alberto, et al., "Prioritizing tests for software fault localization," Proc. of the 10th International Conference on Quality Software (QSIC), pp. 42-51, 2010.
  12. Jee, Eunkyoung, et al., "Automated test case generation for FBD programs implementing reactor protection system software," Software Testing, Verification and Reliability, Vol. 24, No. 8, pp. 608-628, 2014. https://doi.org/10.1002/stvr.1548
  13. Joshi, Anjali, and Mats PE Heimdahl, "Model-based safety analysis of simulink models using SCADE design verifier," Proc. of the 24th International Conference, SAFECOMP 2005, pp. 122-135, 2005.
  14. The MathWorks, Inc. Simulink. [Online]. Available: http://www.mathworks.com/products/simulink/