버그
Bug.
Bug는 '벌레'라는 뜻을 가지고 있는데 한국에서는 벌레는 그냥 벌레라고 하고 소프트웨어의 오류는 '버그'라고 구별하지만 영어권에서는 둘을 구분해야 할 때에는 software bug(소프트웨어 버그)라고 한다.
컴퓨터 소프트웨어의 오류를 뜻한다. 다만 프로그램을 아예 실행시킬 수 없는 오류(error)와는 다른 것으로[1], 프로그램이 실행은 되지만 원래 생각했던 대로 작동하지 않고 잘못된 결과를 낸다면 프로그램에 버그가 숨어있는 것이다. 이 '잘못된 결과'라는 것은 무척 광범위해서 뭔가 결과값이 잘못 나오는 정도에서부터 프로그램이 멎어버리거나, 어예 컴퓨터가 멎어버려서 전원을 껐다 켜아 할 수도 있고, 그 소프트웨어로 작업했던 내용을 날려먹을 수도 있고 아예 그 컴퓨터에 있던 데이터를 날려먹을 수도 있다. 개인용 컴퓨터면 자신의 데이터를 잃는 수준이지만 여러 사용자가 공용으로 쓰는 서버라면 그 사용자들이 전부 접속을 못하거나, 웹 서버라면 웹사이트가 마비되거나, 이들의 데이터를 모조리 날려먹는 최악의 상황도 있을 수 있다.
모든 소프트웨어는 버그를 가지고 있다고 보면 된다. 소프트웨어의 라이선스 조건 중에는 항상 버그에 관한 면책조항이 있다. 예를 들어서 어떤 소프트웨어로 열심히 작업을 했는데 버그 때문에 소프트웨어가 다운되어서 작업한 내용을 날려먹었다고 헤서 소프트웨어를 만든 회사에 손해배상을 청구해 봐야 이길 수 잆다. 소프트웨어 라이선스에 버그에 대한 면책조항이 있기 때문. 따라서 자주자주 데이터를 저장하고 백업도 해 둬야 안전하다. 일부 소프트웨어는 아예 자동 저장 기능을 제공한다. 소프트웨어가 버그로 죽어버리면 다시 실행했을 때 이전에 작업했던 내용을 자동으로 띄워준다.[2]
버그를 찾아내서 고치는 것을 디버그(debug)라고 한다. 개발자들 사이에서는 코딩이 3이면 디버그가 7이라고 할 정도다.