عنوان انگلیسی مقاله:
FSCT: A new fuzzy search strategy in concolic testing
ترجمه فارسی عنوان مقاله:
FSCT: یک استراتژی جدید جستجوی فازی در آزمایش برش سنجی
Sciencedirect - Elsevier - Information and Software Technology, 107 (2019) 137-158: doi:10:1016/j:infsof:2018:11:006
Arash Sabbaghi a , Hamidreza Rashidy Kanan b , ∗ , Mohammad Reza Keyvanpour c
Context: Concolic testing is a promising approach to automate structural test data generation. However, combina- torial explosion of the path space, known as path explosion, and also constrained testing budget, makes achieving high code coverage in concolic testing a challenging task. Objective: All branches of the previously explored paths make up the search space of concolic testing and search strategy define the mechanism of choosing branches to be flipped to drive the execution toward testing goals. With regard to the large number of candidate branches, choosing the right branch to continue the search is so crucial and has a direct impact on coverage rate and effort. This paper aims to improve the effectiveness of branch testing by considering the characteristics of paths reaching uncovered branches and presenting a novel search strategy for effectively and efficiently exploring the search space. Method: We model the branch selection process in concolic testing as a decision making system and introduce a new Fuzzy Search Strategy in Concolic Testing (FSCT). FSCT chooses a branch to be filliped in which the most suitable path with respect to the proposed coverage factors reaches an uncovered branch with the highest priority and this priority is assigned by the designed fuzzy expert system. The proposed coverage factors effectively help to determine the characteristics of paths. Results: We implemented FSCT on top of CREST and evaluated it using several popular benchmarks. The experi- mental results show that FSCT outperforms the state-of-the-art techniques in terms of coverage rate and coverage effort. Conclusion: FSCT helps concolic testing to better cope with path explosion problem and shows its capabilities to achieve higher code coverage while at the same time decreases testing efforts in terms of both runtime and number of iterations.
Keywords: Software testing | Automatic test case generation | Concolic Testing | Fuzzy expert system