2023•Unpublished venueRequires access

BDGSE: A Symbolic Execution Technique for High MC/DC

Huangli Cai, Zhiyi Zhang, Yifan Jian, Dan Li, Zhiqiu Huang

Open publisher page 1 citations

Abstract

Modified Condition/Decision Coverage (MC/DC) is a test coverage standard with excellent fault detection capability, which is widely used in testing safety-critical software. Symbolic execution generates test cases automatically to achieve high code coverage. However, since symbolic execution uses short-circuit evaluation to evaluate decisions, it fails to guarantee the consistency of other conditions in a decision required by the MC/DC criterion. As a result, it is incapable of generating MC/DC test cases to test safety-critical systems adequately. To solve this problem, we propose Branch Dependence Guided Symbolic Execution (BDGSE), a symbolic execution technique for high MC/DC. The approach utilizes static analysis to compute the branch dependencies, then guides symbolic execution to selectively explore paths and simplify test cases, and finally generates a small number of test cases to achieve high MC/DC coverage. Our experimental results show that BDGSE can generate high-quality test cases. Although BDGSE generates fewer test cases, it can achieve higher MC/DC coverage than SPF and random methods, and the fault detection capability of test cases generated by BDGSE is comparable to that of test cases generated by SPF.

About this research paper

What this paper is about

Modified Condition/Decision Coverage (MC/DC) is a test coverage standard with excellent fault detection capability, which is widely used in testing safety-critical software. Symbolic execution generates test cases automatically to achieve high code coverage. However, since symbolic execution uses short-circuit evaluation to evaluate decisions, it fails to guarantee the consistency of other conditions in a decision required by the MC/DC criterion. As a result, it is incapable of generating MC/DC test cases to test safety-critical systems adequately. To solve this problem, we propose Branch Dependence Guided Symbolic Execution (BDGSE), a symbolic execution technique for high MC/DC. The approach utilizes static analysis to compute the branch dependencies, then guides symbolic execution to selectively explore paths and simplify test cases, and finally generates a small number of test cases to achieve high MC/DC coverage. Our experimental results show that BDGSE can generate high-quality test cases. Although BDGSE generates fewer test cases, it can achieve higher MC/DC coverage than SPF and random methods, and the fault detection capability of test cases generated by BDGSE is comparable to that of test cases generated by SPF.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Modified Condition/Decision Coverage (MC/DC) is a test coverage standard with excellent fault detection capability, which is widely used in testing safety-critical software. Symbolic execution generates test cases automatically to achieve high code coverage. However, since symbolic execution uses short-circuit evaluation to evaluate decisions, it fails to guarantee the consistency of other conditions in a decision required by the MC/DC criterion. As a result, it is incapable of generating MC/DC test cases to test safety-critical systems adequately. To solve this problem, we propose Branch Dependence Guided Symbolic Execution (BDGSE), a symbolic execution technique for high MC/DC. The approach utilizes static analysis to compute the branch dependencies, then guides symbolic execution to selectively explore paths and simplify test cases, and finally generates a small number of test cases to achieve high MC/DC coverage. Our experimental results show that BDGSE can generate high-quality test cases. Although BDGSE generates fewer test cases, it can achieve higher MC/DC coverage than SPF and random methods, and the fault detection capability of test cases generated by BDGSE is comparable to that of test cases generated by SPF.

Key concepts: Symbolic execution, Computer science, Code coverage, Concolic testing, Consistency (knowledge bases), Fault coverage, Test case, Reliability engineering

Related papers

Back to paper searchBrowse research topicsOriginal source
BDGSE: A Symbolic Execution Technique for High MC/DC — Research Paper | ScholarLens