Bug, bilgisayar programlarında veya yazılımlarında meydana gelen, istenmeyen veya beklenmeyen bir hata veya sorun olarak tanımlanır. Bu hatalar, yazılımın doğru şekilde çalışmasını engelleyebilir veya işlevsizleştirebilir. Bir programın kodu yazılırken veya daha sonra yapılan değişiklikler sırasında hata yapılması sonucu ortaya çıkabilir.
Yazılım geliştiriciler, bu tür hataları tespit etmek ve düzeltmek için hata ayıklama (debug) işlemi yaparlar. Hata ayıklama, yazılım geliştirme sürecinin önemli bir parçasıdır ve hataların tespit edilip düzeltilmesini sağlar. Hatalar genellikle yazılım güncellemeleriyle düzeltilir ve yazılımın daha istikrarlı ve güvenilir hale gelmesini sağlar.