RGSE: a regular property guided symbolic executor for Java

Hengbiao Yu, Zhenbang Chen, Yufeng Zhang, Ji Wang, Wei Dong
2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2017  
It is challenging to effectively check a regular property of a program. This paper presents RGSE, a regular property guided dynamic symbolic execution (DSE) engine, for finding a program path satisfying a regular property as soon as possible. The key idea is to evaluate the candidate branches based on the history and future information, and explore the branches along which the paths are more likely to satisfy the property in priority. We have applied RGSE to 16 real-world open source Java
more » ... ms, totaling 270K lines of code. Compared with the state-of-the-art, RGSE achieves two orders of magnitude speedups for finding the first target path. RGSE can benefit many research topics of software testing and analysis, such as path-oriented test case generation, typestate bug finding, and performance tuning. The demo video is at: https://youtu.be/7zAhvRIdaUU, and RGSE can be accessed at: http://jrgse.github.io. CCS CONCEPTS • Software and its engineering → Software verification and validation;
doi:10.1145/3106237.3122830 dblp:conf/sigsoft/YuCZWD17 fatcat:vd3ta26igfblxawiox7lfsywdm