서지주요정보
(A) data flow-based structural testing technique for FBD programs = FBD 프로그램에 대한 데이터 흐름 기반의 구조적 테스팅 기법
서명 / 저자 (A) data flow-based structural testing technique for FBD programs = FBD 프로그램에 대한 데이터 흐름 기반의 구조적 테스팅 기법 / Eun-Kyoung Jee.
저자명 Jee, Eun-Kyoung ; 지은경
발행사항 [대전 : 한국과학기술원, 2009].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8020823

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 09019

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

With increased use of programmable logic controllers (PLCs) in implementing safety critical systems, quality assurance of PLC programs became an important issue. Although regulation authorities require structural testing be performed for safety critical system software by identifying coverage criteria to be satisfied and accomplishment measured, there has been little research on structural testing or test coverage criteria applicable to Function Block Diagram (FBD), a PLC programming language widely used in industry. Classical test coverage criteria, based on control flow graphs, are inadequate when applied to a data flow language FBD. This thesis proposes new structural test coverage criteria focusing on data flow-centric characteristics of FBD programs. Interpreting an FBD program as a data flow graph, we define basic coverage, input condition coverage, and complex condition coverage criteria after defining data path and data path condition. We present $\it{FBDTestMeasurer}$, an automatic test coverage measurement case tool for FBD programs. Given a set of test cases and the selected test coverage criteria, $\it{FBDTestMeasurer}$ provides automatically measured coverage result and uncovered test requirements. Analysis of uncovered test requirements can assist in identifying inadequately tested parts and generating additional test cases. We also present automatic test case generation procedure for FBD programs. Test cases satisfying test requirements represented by logical formulas are generated utilizing a Satisfiability Modulo Theories (SMT) solver, $\it{Yices}$, in our approach. Case study conducted using a real-world reactor protection system demonstrated the effectiveness of the proposed approach. Using test cases that had been manually prepared by FBD testing professionals, our automatic coverage measurement technique found many aspects of the FBD logic that were not tested sufficiently. Automatic test case generation applied to industrial example programs showed that this technique could reduce the cost of manual test case generation significantly at the same time increasing reliability of the testing processes. Domain experts found the approach highly intuitive and effective.

본 연구에서는 안전성이 중요한 시스템 소프트웨어 구현에 많이 사용되고 있는 함수 블록 다이어그램(FBD: Function Block Diagram) 프로그램에 대한 구조적 테스팅 기법을 제안한다. 안전 필수 소프트웨어 테스팅에 대한 규제기관의 요건사항에서 구조적(structural) 테스트 커버리지를 명시하고 적용하기를 요구하고 있지만, 현재 FBD 테스팅은 기능적(functional) 테스팅에 의존하고 있고 구조적 테스팅이나 구조적 테스트 커버리지에 대한 연구는 거의 이루어지지 못했다. 기존의 구조적 테스트 커버리지 기준들은 제어 흐름 기반에서 정의된 것들이기 때문에 데이터 흐름 기반인 FBD 프로그램 내에 존재하는 오류를 탐지하는데 적합하지 않다. 본 연구에서는 FBD 프로그램 자체를 하나의 그래프로 보고, 입력과 출력간의 데이터 경로(data path)를 따라 입력 데이터가 출력에 실질적 영향을 미치게 되는 조건을 명시하는 데이터 경로 조건을 정의하였다. 이를 기반으로 기본 커버리지(basic coverage), 입력 조건 커버리지 (input condition coverage), 복잡 조건 커버리지 (complex condition coverage)를 정의하였다. 제안된 테스트 커버리지를 기반으로, 자동 테스트 커버리지 측정도구인 $\it{FBDTestMeasurer}$를 개발하였다. 임의의 테스트 데이터 집합이 주어졌을 때 그 테스트 데이터들이 선택된 커버리지 기준을 얼마나 만족시키는지 정량적으로 보여주며, 커버되지 못한 테스트 요건사항들을 명시적으로 보여준다. 제안된 기법을 원전계측제어시스템 개발사업단의 디지털 원자로 보호계통 비교논리 프로세서 트립 논리에 적용하였다. 도메인 전문가들이 생성한 테스트 데이터에 대해 자동으로 커버리지를 측정한 결과, 기존의 테스트 데이터들이 미처 고려하지 못했던 주요 부분들을 발견함으로 제안된 기법의 효과를 확인하였다. 본 연구에서는 또한 FBD 프로그램에 대한 테스트 데이터 자동생성 방안을 개발하였다. 논리식으로 표현되는 테스트 요건들을 $\it{Yices}$ SMT 해결기의 입력으로 넣고 $\it{Yices}$ SMT 해결기를 반복적으로 실행함으로 FBD 프로그램에 대한 테스트 데이터들을 점진적으로 생성하였다. FBD 프로그램에 대한 테스트 데이터 자동 생성은 수동 생성시보다 훨씬 적은 노력과 시간을 들이고도 더 효과적인 테스트 데이터 생성을 가능하게 한다. 향후 연구에서는 $\it{FBDTestMeasurer}$와 테스트 케이스 자동 생성 기능을 유기적으로 통합한 체계를 구축하며, 제안된 기법을 정형적으로 비교 평가할 예정이다.

서지기타정보

서지기타정보
청구기호 {DCS 09019
형태사항 vii, 60 p. : 삽도 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 지은경
지도교수의 영문표기 : Doo-Hwan Bae
지도교수의 한글표기 : 배두환
수록잡지정보 : "A data flow-based structural testing technique for FBD programs". Information and Software Technology, v.51, no.7, 1131-1139(2009)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학전공,
서지주기 References : p. 58-60
주제 Software testing;Structural testing;Test coverage criteria;Programmable logic controller;Function block diagram
소프트웨어 테스팅;구조적 테스팅;테스터 커버리지 기준;프로그래머블 로직 콘트롤러;함수 블록 다이어그램
QR CODE qr code