Co-Change Recommendation Using Dependency Graph and Concept Lattice
No Thumbnail Available
Date
2025-06
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Addis Ababa University
Abstract
Software change requests are immediate drivers of software evolution. Prompted by the
need for new functionality, fixing bugs, or enhanced performance. Resolving such emergent
issues can end up being extremely difficult to resolve since software source code
entities are highly interconnected. Entities that must change together to assist in resolving
change requests are called co-changes. Identification and utilization of bugs typically involve
tedious, manual processes, to overcome this issue, bug localization techniques have
emerged to help developers. Bug localization is the activity that seeks to find source code
entities that are relevant to a given bug report. However, this method does not have any
property to extract co-changing entities from the ranked list while applying the bug fix.
This research attempts to identify co-changing source code entities during bug fixing using
a source-code-only approach. It is based on a method call dependency graph and a concept
lattice of conceptual relationships. The lattice supports a concept lattice-based ranking to
recommend the top ten co-change candidates. The study evaluates if the fusion of the
two architectures improves performance and compares the results to that of a machine
learning approach using a contrastive loss-trained Siamese network. The Siamese model is
evaluated with both its native similarity-based and Approximate Nearest Neighbor (ANN)
ranking strategies.
As such, the comparative study reflected considerable difference in the success level of
the proposed approaches. The combined approach, which utilizes the concept lattice and
dependency graph-based dependencies, achieved the rate of 90.33% success, followed by
the concept lattice-based method at 84.05%. The dependency graph-based approach in
isolation lagged behind with a success rate of 39.6%. On the other hand, Siamese network
models varied in terms of context inclusion. The Siamese network achieved a low 24.63%
success rate without context. The performance increased with contextual embeddings
from GraphCodeBERT to 65.21%. Nevertheless, embedding ANN search achieved success
rates of 71.01%. Lastly, the combined and concept lattice-based approaches showed
the highest accuracy, with the Siamese network performing competitively only when enriched
with contextual information.
Description
Keywords
Co-change Recommendation, Bug Localization, Dependency Graph, Formal Concept Analysis (FCA), Concept Lattice, Siamese Network, ANN, FAISS