Under the present invention, source input corresponding to a first release
of Java byte code and target input corresponding to a second release of
the Java byte code is received. The input is transformed into a first
list containing class names associated with the first release and a
second list containing class names associated with the second release.
Thereafter, any classes corresponding to class names that appear on both
lists (e.g., matching class names) are loaded. The methods within the
matching classes are then compared to determine if any of the APIs have
been modified between the two releases. After the comparison, the
matching class names are removed from the lists. Any class names
remaining on the first list represent APIs that have been removed from
the second release, while any class names remaining on the second list
represent APIs that have been added for the second release.