rvasa / jseat

Automatically exported from code.google.com/p/jseat
0 stars 0 forks source link

Ability to identify package rename #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Between two consecutive versions, some systems tend to use a massive
package rename. This tends to happen when they change organizations, or
project names or when to move from Version 2 to Version 3 (for example).

Being able to pick this up, will resolve some of the inconsistencies in our
current data collection method.

Potential solution approach:
1. We know that deletes are not very high in most cases.
2. If a class has been deleted, then assume package rename first.
3. If not a package rename, then it may be a class rename or an actual delete.

4. Class renames are much harder to detect:
- Scan for a delete
- Scan for new classes in the next version
- See if deletes match any of the new classes in terms of their similarity
(i.e. number of metrics that match). The higher, the more likely it is that
it is a clone.
- Weakness is that we are still not sure of the types of refactoring that
tend to happen to classes -- if this is known then a more clever
guesstimate can be made for classes that do tend to change.

Original issue reported on code.google.com by rajesh.v...@gmail.com on 16 Jul 2007 at 7:32