Abstract
Detection of distributed predicates is one of the techniques that have been used in the literature to improve the dependability of distributed programs. This technique (sometimes referred to as runtime verification) is used to verify that a given run of a distributed program satisfies certain properties (specified as predicates). In general, the detection of a distributed predicate can incur significant overhead due to the existence of multiple processes running concurrently. Several techniques have been introduced in the literature to efficiently detect distributed predicates. However, most of these techniques work efficiently for certain classes of predicates, like conjunctive predicates. In this paper, the authors have presented a technique based on genetic algorithms to efficiently detect distributed predicates under the possibly modality. The authors have used JGAP (Java Genetic Algorithms Package) to implement the algorithm and conducted several experiments to demonstrate its effectiveness.