Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a clustering algorithm to identify classes that should belong together #94

Open
jimbethancourt opened this issue Sep 20, 2024 · 0 comments

Comments

@jimbethancourt
Copy link
Collaborator

jimbethancourt commented Sep 20, 2024

As @unclebob (I think) said well: "What is used together, goes together. What changes together, goes together."

Use the Chameleon clustering algorithm (or possibly the BIRCH or Spectral Clustering algorithms) to identify what goes together based on both what is used together and what changes together, using the following for the proximity and interconnectedness calculations:

proximity / closeness --> number of times files have been committed together
interconnectedness --> edge weight between classes

https://github.com/lbehnke/hierarchical-clustering-java may be able to be used as a starting point.

@jimbethancourt jimbethancourt changed the title Use the Chameleon clustering algorithm to identify clusters Use a clustering algorithm to identify clusters Sep 20, 2024
@jimbethancourt jimbethancourt changed the title Use a clustering algorithm to identify clusters Use a clustering algorithm to identify classes that should belong together Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant