Automated test case generation for FBD programs implementing reactor protection system software

Eunkyoung Jee, Donghwan Shin, Sungdeok Cha, Jang Soo Lee, Doo Hwan Bae

    Research output: Contribution to journalArticlepeer-review

    26 Citations (Scopus)

    Abstract

    Automated and effective testing for function block diagram (FBD) programs has become an important issue, as FBD is increasingly used in implementing safety-critical systems. This work describes an automated test case generation technique for FBD programs and its associated tool-FBDTester. Given an FBD program and desired test coverage criteria, FBDTester generates test requirements and invokes the Satisfiability Modulo Theories solver iteratively to derive a set of test cases. An industrial case study using reactor protection system software shows that the automatically generated test suites detected at least 82% of the known faults, whereas manually generated test cases only detected approximately 35%. Mutation analysis revealed that the automatically generated test suites substantially outperformed manually generated ones. Although test sequence generation requires some manual effort in the current FBDTester, it is apparent that the proposed approach significantly improves the efficiency and the reliability of FBD testing.

    Original languageEnglish
    Pages (from-to)608-628
    Number of pages21
    JournalSoftware Testing Verification and Reliability
    Volume24
    Issue number8
    DOIs
    Publication statusPublished - 2014 Dec 1

    Bibliographical note

    Publisher Copyright:
    Copyright © 2014 John Wiley & Sons, Ltd.

    Keywords

    • Automated test case generation
    • Function block diagram
    • Programmable logic controller
    • SMT solver

    ASJC Scopus subject areas

    • Software
    • Safety, Risk, Reliability and Quality

    Fingerprint

    Dive into the research topics of 'Automated test case generation for FBD programs implementing reactor protection system software'. Together they form a unique fingerprint.

    Cite this