소프트웨어의 오류는 막을 수 있는가?

날짜2016.02.24
조회수10315
글자크기
    • 넓은 의미의 SW제조물 책임에 대한 着手
    • 소프트웨어의 오류는  막을 수 있는가?
    • 1983년 9월 26일, 구 소련의 페트로프 소령은 중대한 결정을 하게 된다. 자신이 관제하던 시스템에서 핵전쟁 경보가 울린 것이다. 미국이 대륙간 탄도 미사일(ICBM) 1기를 발사했다는 내용이었다. 이후, 5기로 확대되었으나 이 때 페트로프 소령은 이러한 상황에 대해 의문을 제기한다. “왜 미국은 5기 밖에 발사하지 않았을까? 그 정도로는 반격을 받을 수밖에 없을텐데...” 그러한 추론 후에 핵전쟁 취소코드를 입력하고 ‘컴퓨터 오류로 보인다’라고 상부에 보고하였다. 후에 알려진 바로는 핵미사일 탐지시스템의 오류(誤謬)에 따라 햇빛이 반사된 것을 인공위성이 핵탄두로 오인한 것이었다. 만약, 페트로프 소령이 전후 상황에 대한 판단 없이 핵전쟁 코드를 입력하였다면 지금은 어떤 상황일까? SW는 수많은 전자기기의 핵심 역할을 한다. SW중심사회의 가치처럼 국가와 산업, 일상에서 SW는 유기적인 생명체와 같이 작용한다. 이러한 상황에서 작은 SW의 실수가 대형 사고로 이어질 수 있다. 자율주행차로 관심이 높아지고 있는 자동차 부문은 R&D의 50% 이상이 SW에 투자된다. SW의 중요성이 그만큼 커지고 있음을 알 수 있다. 기술에 대한 의존도가 커지고 있으며, 기술에 대한 신뢰도가 높을수록 인간의 의존도는 더욱 커지게 된다. 반면, 예기치 못한 상황에서의 문제도 커질 것이다. 일부 전문가들은 자동차 급발진 사고의 원인을 SW로 제어되는 장치의 오류로 보기도 한다. SW 의존도가 높아질수록 SW로 인한 사소한 실수는 결과적으로 대형 사고의 원인이 되고 사회적인 손실로 나타난다. SW의 영역은 전문가의 영역으로 볼 수 있다. 전문가 영역에 대해서는 비교적 책임을 엄격하게 물린다. 전문 영역에서 발생하는 사고의 입증을 소비자에게 물릴 경우, 일반적인 법감정(法感情)에 비추어 불합리하다고 볼 수 있기 때문이다. 시대적인 변화에 따라 법률도 변한다. 제조물책임법은 손해주장자의 입증책임을 제조자가 과실이 없음을 밝혀야하는 무과실(無過失) 책임으로 전환시켰다. 즉, 제조자가 손해의 발생 원인이 자신에게 없다는 입증을 하지 못하면 책임이 있다는 논리이다. 이렇듯 제조물에 대한 엄격한 책임을 제조자에게 부과하고 있다. 그 만큼 안전한 사회를 구현하기 위한 시대적 요구가 법률에 작용한 것이다. 그러나 제조물에 포함되지 못하는 소프트웨어의 오류나 하자로 인하여 발생하는 손해에 대해서는 손해 주장자가 입증해야 한다. 현실적으로 손해주장자가 전문가인 SW개발자나 제조자가 갖는 정보력에 대응하기 쉽지 않은 구조이다. 그리하여 최근, SW자체가 아닌 SW가 다른 물건과 결합된 경우라면 제조물책임을 인정하자는 주장이 힘을 얻고 있다. 문제는 SW로 인하여 발생하는 손해배상 못지않게 SW산업에 대한 정책적 고려도 필요하다는 점이다. 무과실책임의 확대가 개발자나 사업자 등 SW산업과 생태계에 미치는 영향이 적지 않기 때문이다. 만약 SW가 포함된 제품으로 인하여 손해가 발생할 경우 그에 따른 보상은 제조자 내지 SW개발자가 지게 될 것이다. SW가 임베디드 형태로 사용될 경우에는 제조자는 SW개발자에게 구상을 요구할 것이다. 결국 SW산업에는 상당히 부정적일 수밖에 없다. SW로 인하여 발생할 수 있는 사고는 복제되는 수량만큼 가능하다. 이러한 이유 때문에 산업과 국민의 피해에 대한 비교교량이 필요하다. 확대되고 있는 무과실책임과 SW문제로 인하여 발생한 손해의 전보에 대해 고민할 때이다. 이를 위한 사회적 합의와 보험제도의 강화는 하나의 대안이 될 수 있다. 그리고 이를 뒷받침할 수 있는 법제도의 검토가 이루어져야할 것이다. 안전을 담보하기 위해서는 보편적인 기술수준이 아닌 제조물을 공급할 당시에 최상의 기술수준을 고려한 설계가 이루어졌는지가 중요하다. 안전하게 통제되지 못하는 기술의 채용은 지양되어야 한다. 기술이 인류에게 재앙을 일으킬 지, 또는 그것을 막을 지는 사람의 손에 달려있기 때문이다. 지능형 기술에 대한 의존도가 높아질수록 이용하는 과정에서 사람의 판단이 들어갈 여지는 줄어들게 된다. 사전에 설계나 개발 과정에서 도덕적 의식이 중요한 이유이기도 하다. 사건과 사고는 사람의 선택에 따른 인과관계(因果關係)이기 때문이다.