国家自然科学基金(61375067, 61203304); 江苏省自然科学基金(BK2012566)
Testability transformation based on dominant relationship, which transforms the problem of covering the target statement into the problem of covering the dominant statement(s) preceding the target statement, can test programs with flag variables. When more than one dominant statement exist, however, there have been no effective methods for selecting a statement subset with best coverage as the new target(s), which limits the scope of applying the testability transformation method. The problem of selecting dominant statement(s) is investigated in this paper, and a method of choosing dominant statement(s) is presented based on the coverage difficulty. First, four indicators for evaluating the coverage difficulty of a statement are presented, and the approaches to calculating them are provided. Then, the dominant statement(s) with best coverage is (are) chosen using Topsis sorting based on the above indicators. Finally, the proposed method is applied to test several benchmarks and industrial programs, and the experimental results show that coverage from the dominant statement(s) selected by the proposed method can greatly improve the efficiency of generating test data.