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

[EVOL]: studying the possibility of adding Feature Coupling Network (FCN) #18

Open
helabenkhalfallah opened this issue Mar 7, 2025 · 0 comments
Assignees

Comments

@helabenkhalfallah
Copy link
Owner

Based on this study:
https://www.researchgate.net/publication/332077543_Measuring_Software_Modularity_Based_on_Software_Networks

We should study the difference with our way of measuring modularity and FCN.

How FCN Works

  • Extracting Software Structural Information
    • Uses static analysis to extract methods, attributes, and their relationships.
    • Only considers elements defined inside the software, ignoring external libraries.
  • Constructing the FCN Graph
    • Each method or attribute is a node.
    • If method A calls method B → An edge exists between A and B.
    • If method A accesses attribute X → An edge exists between A and X.
    • The weight on each edge represents the strength of the coupling (e.g., number of calls).
  • Applying the Modularity Metric (Q)
    • Uses class structures as natural community boundaries.
    • Computes a modularity score (Q) to quantify how well a software adheres to "high cohesion, low coupling".

If we integrated FCN-like principles, perhaps we could analyze dependencies at the function/method level instead of just module-level.

@helabenkhalfallah helabenkhalfallah self-assigned this Mar 7, 2025
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