Co-Change Recommendation Using Dependency Graph and Concept Lattice

dc.contributor.advisorSosina Mengestu (PhD)
dc.contributor.authorTewodros Meheretu
dc.date.accessioned2025-07-30T17:55:17Z
dc.date.available2025-07-30T17:55:17Z
dc.date.issued2025-06
dc.description.abstractSoftware 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.
dc.identifier.urihttps://etd.aau.edu.et/handle/123456789/5874
dc.language.isoen_US
dc.publisherAddis Ababa University
dc.subjectCo-change Recommendation
dc.subjectBug Localization
dc.subjectDependency Graph
dc.subjectFormal Concept Analysis (FCA)
dc.subjectConcept Lattice
dc.subjectSiamese Network
dc.subjectANN
dc.subjectFAISS
dc.titleCo-Change Recommendation Using Dependency Graph and Concept Lattice
dc.typeThesis

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Tewodros Meheretu.pdf
Size:
2.38 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description: