Co-Change Recommendation Using Dependency Graph and Concept Lattice

No Thumbnail Available

Date

2025-06

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

Citation