나는 이것이 오래된 질문이라는 것을 알고 있으며 3 명이이 답변을 읽으면 운이 좋을 것입니다. 그러나 그것은 재미있는 이야기입니다.
나는 프로젝트 (임베디드 시스템, 안전에 중요한 펌웨어, 매우 높은 지분)에 들어 와서 내가 찾은 것에 놀라게되었다. C (특히 포인터)를 잘못 사용하는 사람들, 정적 분석, 코드 검토, "함께 통합, 실행, 두 들기, 끊어짐 확인"이외의 테스트는 없습니다.
나는 첫 주에 (컨설턴트로서) 매우 긴 이메일을 썼다. 기본적으로 잘못 관리되었다고 말했기 때문에 욕설이 많았으며 개발자가 머리를 숙이고 프로세스가 진행되지 않았습니다. 회사 부사장에게 가야했지만 대신 고용 한 개발 관리자에게 보냈습니다. 나를. 그는 그 점에 대해 전적으로 방어 적이지는 않았습니다. 사실 그는 많은 단점을 인정하고 내가 지적한 첫 번째 사람이 아니라고 말했습니다.
원래 질문의 요점에 대답하기 위해 : 나는 플랫폼에서 Gimpel 's Lint (PC-Lint / Flexelint) 정적 분석 도구를 구성 및 실행하는 데 최대 1 주일에 AT를 지불하고 발견 된 모든 것에 대한 전체 보고서를 실행하도록 제안했습니다. . 나는 그 결과 몇 개의 숨어있는 "시한 폭탄"을 발견 할 것이라고 확신했다.
그들은 내 시간당 요금을 계산하고 40을 곱한 후 "너무 비싸다"고 판단했습니다. 간단히 말해 60 일 이내에 그 자리를 떠났습니다. 약 3 년 후, 나는 회사의 명성에 손상을 입히지 않고 9의 수치 (100 억 달러)에 이르는 제품 리콜에 대해 배웠습니다.
회사, 제품 또는 산업에 대해서는 언급하지 않지만 여전히 엔지니어 중 한 명과 연락을 취하고 있으며, 그가 리콜의 원인을 설명 할 때 내 눈이 굴러갔습니다. 기본 정적 분석 도구조차도 범위를 벗어난 배열에 액세스합니다. 공평하게, 나는 내가 거기에있을 때 문제가 코드에 있다고 확신 할 수는 없지만 어떤 종류의 정적 분석 도구에 돈을 쓴다면 그 버그는 탈출하지 않았을 것이라고 확신합니다.
그래서 그들은 PC-Lint를 구매하지 않음으로써 295 달러를 절약했습니다.
그것이 내가 엄청나게 큰 돈 낭비라고 부르는 것입니다.
많은 분들이 이미 들어 보신 농담을 상기시켜줍니다.
실패한 거대한 선박 엔진에 대한 이야기를 들어 본 적이 있습니까? 선박의 선주들은 한 명의 전문가를 차례 차례 시험해 보았지만 아무도 엔진을 수리하는 방법을 알 수 없었습니다. 그런 다음 그들은 어릴 때부터 배를 수리하던 노인을 데려 왔습니다. 그는 큰 도구 가방을 가지고 다녔고, 도착하자마자 즉시 일하러 갔다. 그는 엔진을 매우 신중하게 위에서 아래로 검사했습니다.
배의 선주 중 두 명이이 사람을보고 무엇을해야할지 알기를 바랐습니다. 사물을 살펴본 후 노인은 가방에 닿아 작은 망치를 꺼 냈습니다. 그는 부드럽게 무언가를 두드렸다. 즉시 엔진에 생명이 생겼습니다. 그는 조심스럽게 망치를 치웠다. 엔진이 고정되었습니다! 일주일 후, 소유자는 노인으로부터 $ 10,000의 청구서를 받았습니다.
"뭐?!" 주인은 소리 쳤다. "그는 거의 아무것도하지 않았다!"
그래서 그들은 노인에게 "항목 별 청구서를 보내주십시오"라는 메모를 썼습니다.
그 남자는 다음과 같은 청구서를 보냈습니다.
Tapping with a hammer ........ $ 2.00
Knowing where to tap ......... $ 9998.00
노력은 중요하지만 무엇을하고 있는지 아는 것이 모든 차이를 만듭니다.