본문 바로가기
C++ 200제/코딩 IT 정보

프로그램 버그 찾는 방법과 시점 [오픈소스 개발 방법론]

by vicddory 2018. 4. 12.

프로그램 버그 찾는 방법과 시점 [오픈소스 개발 방법론]


부담갖지 않고 재미있게 볼 수 있는 자료들이니 천천히 살펴보시길 바랍니다.



제주대학교 컴퓨터공학전공 <오픈소스 개발 방법론> 시간에 진행되었었던 "개발 방법론 II: 버그/패치/스타일" 제목의 강의의 자료입니다. 장혜식이란 강사분이 진행하신것 같은데, 구글링으로 우연히 찾게되었는데 재미있게 구성되어 있네요.


아래엔 재미있는 몇 가지입니다.


1. 버그 해결 후엔 항상 자랑해야 한다는 부분


버그와 패치 기여의 전체 구조[버그와 패치 기여의 전체 구조]


2. 버그를 찾을 땐 친구를 동원해야 한다는 부분은 꼭 기억해 두시길 바랍니다.


패치와 관련된 정치 활동 - 친구를 동원하자[패치와 관련된 정치 활동 - 친구를 동원하자]


강사분께서 지적하시는 잦은 버그의 종류는, 


- Segmentation Fault (SIGSEGV), Bus Error (SIGBUS)

- 오동작

- 메모리 누수

- 데드락, 무한 루프

- Aborted (SIGABRT), Assertion Error

- 컴파일 오류

- 기능 미비 또는 기능 검출 오류

- 뻥치는 인터페이스와 문서


그리고 프로그래밍 버그Bug, 오류를 찾고, 관리하는 좋은 시점[링크]이라는 Kyuseo님의 글도 볼만하네요.


1 순위

프로그래밍 코딩 하는 도중에 눈으로, 머리로 찾는다. (가장 빠름 / 쉬움)


2 순위

컴파일, 빌드 직전에 찾는다. (빠름 / 쉬움)


3 순위

컴파일, 빌드하여 나타난 문법 오류 메시지로 찾는다. (느림 / 보통)


4 순위

프로그램 실행도중에 찾는다. ASSERT을 이용하여 찾는다면 행복하다. (매우 느림 / 찾고 해결하기 어려움)


5 순위

다른 회사 직원이나 가까운 사용자가 찾는다. 구두로 오류 재현 방법을 질문한다. (매우 느림 / 매우 어려움)


6 순위

최종 사용자 (End User)가 찾아 신고한다. 이메일로 오류 재현 방법을 질문한다. (매우 느림 / 매우 어려움)


7 순위

최종 사용자 (End User)가 찾아 신고하지 않는다. (찾지 못함 / 해결 못함)



프로그램 버그 찾는 방법과 시점 [오픈소스 개발 방법론]

댓글