소프트웨어 버그
잘못된 결과, 오류, 착오, 오작동이 발생하는 등의 문제 / From Wikipedia, the free encyclopedia
소프트웨어 버그(영어: software bug) 또는 줄여서 버그(bug)는 소프트웨어가 예상하지 못한 잘못된 결과를 내거나, 오류가 발생하거나, 착오나 오작동이 발생하는 등의 문제를 뜻한다. 버그는 프로그램의 소스 코드나 설계 과정에서의 결점, 결함 및 오류 때문에 발생한다.
이 문서의 내용은 출처가 분명하지 않습니다. (2010년 9월) |
간략 정보 소프트웨어 개발 프로세스, 활동과 단계 ...
소프트웨어 개발 프로세스 | |
---|---|
활동과 단계 | |
요구사항 분석 · 기능 명세 구조 · 설계 구현 · 테스팅 배치 · 유지보수 | |
개발 모형 | |
애자일 소프트웨어 개발 · 클린룸 DSDM · 순차점증적 개발 · 반복형 개발 RAD · RUP · 나선 모형 폭포수 모델 · 익스트림 프로그래밍 스크럼 · V 모델 · TDD | |
지원 활동 | |
구성 관리 · 문서화 품질보증 · 프로젝트 관리 사용자 경험 설계 | |
도구 | |
컴파일러 · 디버거 · 프로파일러 GUI 디자이너 · 통합 개발 환경 | |
닫기
위키백과의 버그에 대해서는 위키백과:버그 보고 문서를 참조하십시오.
버그의 결과로 다양한 문제가 발생할 수 있다. 몇몇 버그는 프로그램의 동작에 조그마한 영향을 줄 뿐이며, 오랜 시간 동안 발견되지 않고 남아 있을 수 있다. 이보다 더 심각한 버그는 프로그램의 실행이 중단되거나 강제 종료되는 문제를 일으킬 수 있고, 어떠한 버그는 보안 문제를 발생시킬 수도 있다. 예를 들어, 악의적인 사용자는 자주 발생하는 버그인 버퍼 오버플로를 사용해서 원래는 허락되지 않은 일을 할 수 있다.
버그는 다양한 형태로, 또 다양한 정도로 프로그램의 사용자들에게 불편함 등의 영향을 미칠 수 있다. 몇몇 버그들은 프로그램의 기능에 미미한 영향만 미치는데, 이 때문에 오랫동안 사용자들이 이들을 발견하지 못하는 경우도 있다. 하지만 심각한 버그들은 프로그램이 전혀 작동하지 못하는 상태가 되게 하여 사용자들에게 큰 불편을 주기도 한다. 한편, 보안 버그들은 나쁜 의도를 가진 사용자들에 의하여 악용되어 시스템의 불법적인 권한을 획득할 수 있는 수단이 되기도 한다.