A linear relationship between the number of patterns in the execution traces and the value of G is convenient for several reasons. First, the additivity property is exploited for the second step in dependency detection: pruning overlapping dependencies. We can divide the patterns into their subparts (e.g., a precursor with both a failure and recovery method in it) and add the resulting G values to get the same value as if we had calculated a G for all the subsets together. Second, a linear relationship is predictable. We know that the more patterns in the execution traces, the more likely we are to detect dependencies. Linearity is convenient because we are unlikely to be surprised by new dependencies suddenly showing up if we gather a few more execution traces (meaning the new dependencies were not even close to being dependencies before the additions). The bottom line is that given execution traces with few patterns, the G-test can find strong dependencies, but given more patterns, it will also find rare dependencies. If a user of FRA is interested in detecting any dependencies, then a few execution traces will be adequate to do so; if the user wishes to find rare or obscure dependencies, then it will be necessary to gather more execution traces. The level of effort expended in gathering execution traces depends on what kinds of dependencies one wishes to find.