CSE647: Robust (Distributed) Software (Spring 2002) Scott Stoller Homework 5 Due: 12 Apr Suppose (due to ambiguity in the results of pointer analysis) that nodes are labeled with tuples of the form (objects, operation, thread), where objects is the *set* of possible target objects of the operation. For example, ({obj1, obj2}, entry, t1) indicates that thread t1 performs an enter (i.e., acquire) operation on either obj1 or obj2. (For simplicity, we continue to assume a known bound on the number of allocated objects; otherwise, we would use, e.g., a set of allocation sites, rather than a set of objects.) Modify the analysis to deal with this. Specifically, give revised versions of the large equations in section 3, and the supporting functions: notifyNodes(objs), waitingNodes(objs), StartPred(n), Monitor(obj), etc. (The choice of when to use "obj" as argument and when to use "objs" is yours.) You do not need to give a revised version of the overall algorithm in Figure 4; just describe the modifications, if any.