kirancodes.me
To Proof Maintenance & Beyond!

Java Ranger: Supporting String and Array Operations in Java Ranger (Competition Contribution)

Soha Hussein, Qiuchen Yan, Stephen McCamant, Vaibhav Sharma, Michael W. Whalen

Abstract

Abstract Java Ranger is a path-merging tool for Java Programs. It identifies branching regions of code and summarizes them by generating a disjunctive logical constraint that describes the behavior of the code region. Previously, Java Ranger showed that a reduction of 70% of execution paths is possible when used to merge branching regions of code that support numeric constraints. In this paper, we describe the support of two additional features since participation in SV-COMP 2020: symbolic array and symbolic string operations. Finally, we present a preliminary evaluation of the effect of the structure of the disjunctive constraint on the solver’s performance. Results suggest that certain constraint structures can speed up the performance of Java Ranger.

Related papers