title: Find methods with modified code between two versions of a Java class
body: <p>I'd like to find the methods which changed between two arbitrary Java files.</p>
  
  <h2>What I've Tried</h2>
  
  <p>I've tried using <code>diff</code> (GNU diffutils 3.3) to find changes to lines in the file and <code>diff --show-c-function</code> connect those lines to the changed method.  Unfortunately, in Java this lists the class, not the function.</p>
  
  <p>I also tried <code>git diff</code> which seems to properly be able to find the changed function (at least as displayed on GitHub), but it doesn't always list the full signature and my files are not in the same Git repository (<a href="https://github.com/apache/commons-math/commit/34adc606601cb578486d4a019b4655c5aff607b5" rel="nofollow noreferrer">https://github.com/apache/commons-math/commit/34adc606601cb578486d4a019b4655c5aff607b5</a>).</p>
  
  <h2>Desired Results</h2>
  
  <p><strong>Input:</strong></p>
  
  <pre><code>~/repos/d4jBugs/Math_54_buggy/src/main/java/org/apache/commons/math/dfp/Dfp.java
  ~/repos/d4jBugs/Math_54_fixed/src/main/java/org/apache/commons/math/dfp/Dfp.java
  </code></pre>
  
  <p><strong>State of Files:</strong></p>
  
  <p>The changed methods between those two files are <code>public double toDouble()</code> and <code>protected Dfp(final DfpField field, double x)</code></p>
  
  <p><strong>Output:</strong> (fully qualified names)</p>
  
  <pre><code>org.apache.commons.math.dfp.Dfp.toDouble()
  org.apache.commons.math.dfp.Dfp(final DfpField field, double x)
  </code></pre>
  
  <h2>Summary</h2>
  
  <p>Can I find the modified methods with the GNU diffutils tool or git diff and if yes, how would I do that? (Note: I'm not bound to those tools and am happy to install something else if needed.)</p>