CoChange

data class CoChange(val moduleA: String, val moduleB: String, val sharedCommits: Int, val degree: Double, val declared: Boolean)(source)

Two modules that changed together (co-changed) across the analysed commit window.

Temporal (change) coupling is orthogonal to the static dependency graph: it measures how the code actually evolves rather than what it declares. Pairs are canonicalised so moduleA is always lexicographically less than moduleB, giving one deterministic row per unordered pair.

Parameters

moduleA

First module path (the lexicographically smaller of the pair).

moduleB

Second module path.

sharedCommits

Number of commits that touched both modules.

degree

Coupling strength in [0.0, 1.0]: sharedCommits / min(commitsA, commitsB). 1.0 means the less-churned module never changed without the other.

declared

True when a production (non-test) dependency edge exists between the two modules in either direction - i.e. the co-change is backed by a declared structural link.

Constructors

Link copied to clipboard
constructor(moduleA: String, moduleB: String, sharedCommits: Int, degree: Double, declared: Boolean)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard