  Automatically locating a bug within a large codebase remains a significant
challenge for developers. Existing techniques often struggle with
generalizability and deployment due to their reliance on application-specific
data and large model sizes. This paper proposes a novel pre-trained language
model (PLM) based technique for bug localization that transcends project and
language boundaries. Our approach leverages contrastive learning to enhance the
representation of bug reports and source code. It then utilizes a novel ranking
approach that combines commit messages and code segments. Additionally, we
introduce a knowledge distillation technique that reduces model size for
practical deployment without compromising performance.
  This paper presents several key benefits. By incorporating code segment and
commit message analysis alongside traditional file-level examination, our
technique achieves better bug localization accuracy. Furthermore, our model
excels at generalizability - trained on code from various projects and
languages, it can effectively identify bugs in unseen codebases. To address
computational limitations, we propose a CPU-compatible solution. In essence,
proposed work presents a highly effective, generalizable, and efficient bug
localization technique with the potential to real-world deployment.
