Google은 사내의 많은 프로그래머들이 만든 코드의 품질을 위해서 체크인 전에 유닛 테스트와 코드 리뷰들을 하고 있지만 코드가 너무 많아서 유닛 테스트나 코드 리뷰에서 완전하게 버그를 잡지 못하고 있다고 한다. 그래서 Google에서는 버그 예측 알고리즘을 사용하여 버그가 있을만한 부분을 리뷰어에게 조언을 받도록 하고 있다고 한다.

 

이 알고리즘은 간단한 방법으로 과거에 코드가 버그 수정을 위해 언제, 몇 회 수정 되었는가를 기초로 한 알고리즘. 버그 픽스를 위해 커밋한 횟수를 랭킹을 정해서 코드 중에서 가장 뜨거운 부분을 찾는다. Google에서는 버그 트랙과 소스 관리 커밋 로그를 기초로 한 버그 예측이 생각 외로 잘 동작한다고 한다.

 

이 알고리즘을 기초로 만든 툴이 bugspots이다. ‘bugspots’은 루비로 만들었으며 git 저장소로부터 이력을 읽어서 분석하고 어떤 모듈이 버그가 있을 확률이 높은지 표시해준다고 한다.




by 흥배 2012. 1. 10. 09:00