نوع مقاله : مقاله پژوهشی
نویسندگان
دانشگاه صنعتی خواجه نصیرالدین طوسی
چکیده
کلیدواژهها
موضوعات
عنوان مقاله [English]
نویسندگان [English]
Software testing is an important thing in the development process of any software. Most parts of tests are done automatically. In automatic software testing, there may be obstacles that make the test difficult. One of these obstacles is the presence of infeasible paths in the control flow graph. The existence of such paths can cause problems in various fields such as test data generation, security, and etc. and cause resources waste.
To prevent such problems, detecting infeasible paths can be critical. But in large software products, recognizing these paths is time-consuming. In this study, a method has been presented that can increase the detection speed of infeasible paths using reinforcement learning algorithms. In this method, an attempt has been made to increase the speed of SMT solver using DQN. It has been shown that the tactics provided by SMT can be learnt using reinforcement learning, and thus, the speed of solving increases. This way, the speed of all algorithms and methods that use this tool to detect infeasible paths in control flow graphs will also increase.
The method presented in this study has been tested on QF_NRA and QF_NIA logics. In the experiments that have been done, it has been shown that using the proposed method, the speed of the SMT solver can be increased up to 4.7 times.
کلیدواژهها [English]