Annotating functional correctness properties of code using assertions, in principle, enables systematic checking of code against behavioral properties. In practice however, checking assertions can be costly, especially for complex code annotated with rich behavioral properties. This paper introduces a novel approach for distributing the problem of checking assertions for better scalability. Leveraging that assertions should be side effect free, our approach distributes assertion checking into simpler sub-problems---each focusing on checking one single assertion, so that different assertions are checked in parallel among multiple workers. Furthermore, the sub-problem analysis performed by each worker is guided by the checked assertion to avoid irrelevant path exploration and is prioritized based on the distance towards the checked assertion to provide earlier feedback. A case study shows that our approach can provide a reduction in analysis time required for symbolic execution of Java programs compared to non-distributed approach using the Symbolic PathFinder tool.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.