Write these up and submit them to Canvas, the day before the lecture. =========================================================================== Please include in your write up commentaries of the following papers: "Neural software analysis" "code2vec: learning distributed representations of code" =========================================================================== Briefly answer the following questions: 1. Choose some "traditional" (i.e., non-neural) program analysis we have discussed in this class. Using the framework in "Neural software analysis," argue why the problem your chosen analysis addresses would be a **good** fit for neural software analysis. 2. Choose a different "traditional" program analysis we have discussed in this class. Using the framework in "Neural software analysis," argue why the problem your chosen analysis addresses would be a **poor** fit for neural software analysis. 3. Suppose that the authors of "Neural software analysis" had decided to include code2vec as one of their examples. What would code2vec's entries in Table 2 be? 4. Using the code2vec website, give an example that code2vec handles well, and one that it handles poorly (you should come up with the examples, not choose examples that are already there). Explain why you think code2vec handles your second example poorly. 5. Describe what the difference between the code2vec model and the "no-attention" and "hard-attention" models in in Table 4. What is the intuition behind why code2vec works but these alternative models do not?