Many entrepreneurs believe their product is unparalleled and…
Questions
Mаny entrepreneurs believe their prоduct is unpаrаlleled and superiоr tо others. Yet, they often lack the means to validate their claims. __________ can assist them in translating these advantages into measurable metrics that resonate with their customers' primary concerns.
Prоblem 1: Dаtаflоw Anаlysis (20 pоints) [12 minutes] Design a dataflow analysis that detects user-related variables. A user-related variable is a variable whose value can be affected by the user's inputs. For example, in the following program: READ(a); b = 0; c = 1; while (b < 100) { c *= a; b += 1; } WRITE(c); Notice that a's value is given by the user and c's value is determined by a. Hence a and c are user-related; but b is not. (A). Is this analysis forward or backward? You do not have to justify your answer. (4 points) a. Forward Analysis b. Backward Analysis (B). How should this analysis be initialized? (In a forward analysis, what is IN of the first statement, in a backward analysis, what is OUT of the last statement?) (4 points) a. IN(start) containing all variables b. IN(start) is empty c. OUT(end) is empty d. OUT(end) containing all variables (C). Define the OUT set for the statement READ(a), in terms of the IN set. (4 points) a. (textrm{OUT} = phi) b. (textrm{OUT} = textrm{IN}) c. (textrm{OUT} = textrm{IN} - {a}) d.(textrm{OUT} = textrm{IN} cup {a}) (D). Consider a statement a = b + c. Let the current IN set be ({b}). What will be the OUT set after the statement? (4 points) a. (textrm{OUT} = {a}) b. (textrm{OUT} = {a, b}) c. (textrm{OUT} = {a, c}) d. (textrm{OUT} = {a, b, c}) (E). Is this analysis all-path or any-path? (Consider how your analysis should behave at merge statements.) (4 points) a. All-path Analysis b. Any-path Analysis Problem 2: Dependence Analysis and High-Level Loop Optimization (20 points) [16 minutes] For the following subproblems, consider the code below: for (i = 1; i