토요일, 7월 26, 2014

[독서광] 역사 속의 소프트웨어 오류

오늘도 출판사에서 선물받은 책을 한 권 소개해드리려 한다. 전 세계적으로 문제가 되었던 소프트웨어 오류를 소개하는 '역사 속의 소프트웨어 오류'가 바로 주인공이다. 책이 출간되기 전에 이미 일부 내용을 읽고 간단한 서평을 작성했는데, 여거 다시 한번 옮겨 본다.

지금까지 나온 소프트웨어 에세이는 주로 밝은 면에 집중한다. 잘 되고 좋고 멋지고 훌륭한 소프트웨어에 대한 환상 말이다. 하지만 이 책은 실수, 실패, 그리고 그 뒤에 숨겨진 뒷 이야기를 집중적으로 다룬다. 소프트웨어 오류와 원인(일단 알고 나면 별거 아닌 듯이 보이는!)을 재미있고 이해하기 쉽게 풀어 쓰므로, 소프트웨어를 제대로 그리고 안전하게 구현하고 싶은 개발자에게 추천한다.

과연 어떤 이야기를 다루고 있을까? 패트리어트 미사일, 화성 탐사선, AT&T 장거리 전화 불통, 미국 북동부를 휩쓸었던 대정전, 함정 운용/전투 소프트웨어, 모리스 웜, 전투기 항전 소프트웨어, 게임 버그, 의료 기기 소프트웨어, 금융 소프트웨어, 상용 여객기 운항 소프트웨어, 도요타 UA(급발진)를 초래한 소프트웨어 등 다양한 분야에서 발생해 인명과 금전적인 손실(그 중 일부는 해프닝으로 끝난 경우도 있지만...)을 일으킨 소프트웨어 오류를 설명하고 있다. 소프트웨어에 필연적으로 따라다니는 버그가 연쇄 효과를 일으키며 파국으로 치닫게 만드는 이야기를 읽고 있으면 마치 한 편의 드라마를 보는 듯한 느낌을 받을지도 모르겠다.

개인적으로도 소프트웨어 오류에 관심이 많아 다양한 자료를 수집하고 분석해보는 취미가 있어서 책에서 소개하는 상당수 사례를 이미 알고 있었지만 잘 정리된 형태로 다시 한 번 읽으니 색다른 느낌이 들었다. 무미건조한 사고 분석 결과 보고서 형태가 아니라(항공기 관련 보고서를 읽으면 어떻게 이렇게 객관적으로 글을 쓸 수 있는지 궁금한 때가 많다) 사건의 역사와 배경, 추이, 결과를 이야기식으로 풀어가고 있기 때문에(그리고 중간 중간 소프트웨어 개발자를 위한 내용도 나온다) 해당 분야의 전문가가 아니더라도 어렵지 않게 읽을 수 있다.

하지만 저자가 직접 관련자들이나 전문가를 인터뷰한 내용이 아니라 이차 소스를 중심으로 정리한 내용이다 보니 아무래도 한계가 있기 마련이다. 이차 소스에 따라 각 사례에 대한 분석 깊이가 많이 차이 나므로 특정 사고의 원인을 기술적으로 깊숙히 파고들어 분석할 목적으로 이 책을 선택했다가는 낭패를 볼지도 모른다는 점을 짚고 넘어가야겠다. 그렇다고 하더라도, 전반적인 개요를 파악하기 위한 출발점으로는 나쁘지 않다.

결론: 올바른 소프트웨어 제작과 관련해 개발자들의 마음가짐을 다잡아 주는 동기부여 목적으로 이 책을 읽어보면 어떨까 생각한다. 평상시 소프트웨어 오류에 대해 관심이 많은 분들께 추천!

EOB

댓글 없음:

댓글 쓰기