소프트웨어 오류 자동 검출기 개발 

대전--(뉴스와이어)--과학기술부(부총리 오 명)와 한국과학재단(이사장 권오갑)이 창의적 연구진흥사업으로 지원한 서울대학교 컴퓨터공학부 이광근 교수팀은 소프트웨어 시스템의 오류를 자동으로 검출해주는 분석기인 아이락(Airac)을 개발하는 데 성공하였다. 소프트웨어 오류 자동 검증 기술은 오류 없는 소프트웨어를 작은 비용으로 개발할 수 있게 하는 첨단 기반 기술로서, 소프트웨어 선진국에서도 2003년 이후에서야 실용화되고 있는 원천 소프트웨어 기술이다.

아이락(Airac)은 프로그램에 있는 오류(bug)를 프로그램을 테스트 하지 않고 자동으로 모두 찾아주는 소프트웨어이다. 컴퓨터 프로그램은 한없이 복잡하게 얽혀있는 명령문들의 거대한 구조물이기 때문에 숨어있는 오류를 모두 미리 찾아내는 것은 불가능하다고 여겨져 왔다.

이광근 교수팀은 지난 10여 년간의 연구를 바탕으로 정적프로그램 분석기술(static program analysis) 이론을 이용하여 그 문제를 해결한 아이락(Airac)을 개발하였다. 

아이락(Airac)이 찾아내는 오류는 프로그램 실행중에 벗어나지 말아야 할 메모리(memory) 지역들을 벗어나는 경우들이다.이러한 오류는 대부분의 소프트웨어에서 가장 흔하게 나타나는 오류이고,“메모리접근 오류”라고 한다. 

아이락(Airac)의 실용성은 삼성전자 소프트웨어 센타(센타장:김영주)의 실제 소프트웨어개발 현장에 적용하여 23만줄의 프로그램을 1시간반만에(분석속도 약 50 lines/sec) 자동 분석하여 실제 메모리접근 오류들을 모두 찾아내는 성능을 보였다.

아이락(Airac)은 미국과 프랑스에 이어 세계3번째 기술 개발이고, 그 성능은 2004년 스탠포드(Stanford) 대학의 도슨 앵글러(Dawson Engler)교수가 상용화한 검증기(coverity.com)을 능가하고 있다. 

소프트웨어가 자체로 상품인 경우는 말할 것도 없고, 소프트웨어가 제품에 내장되어 제품의 질을 결정하는 경우(핸드폰, 자동차, 가전 등), 무결점 소프트웨어를 저렴하게 빨리 개발하는 기술은 제품의 시장경쟁력의 핵심 축이 된다. 아이락(Airac)이 그 축의 뼈대가 될 것으로 기대된다.

소프트웨어의 오류가 우리들의 일상에 끼치는 손해는 점점 막대해 지고 있다.예를 들어 소프트웨어 오류 때문에 미국 경제가 지불한 비용은 2002년 595억 달러로 집계되었다(미국 표준연구원 NIST 자료).따라서 아이락(Airac)과 같은 원천기술의 확보는 그 비용을 줄이려는 투자를 흡수할 수 있는 발판이 된다. 

아이락(Airac)의 모든 것은 100% 독자 기술이다. 특히,아이락을 실현한 프로그래밍 언어 자체도 이광근 교수팀이 지난 5년간 독자 개발한 nML이라는 차세대 프로그래밍 시스템을 사용하였다.

아이락(Airac)이 기존의 소프트웨어 테스트나 모니터링(monitoring) 기술과 다른 점은 소프트웨어를 실행시키지 않고 모든 해당 오류를 미리 찾아낸다는 것이다. 소프트웨어 테스트나 모니터링은 백만 번의 테스트 실행을 통과하더라도 오류가 없다고 보장할 수는 없다. 테스트해야 하는 경우가 무한히 많기 때문이다. 하지만, 아이락(Airac)은 테스트 실행 없이 모든 오류를 검출하는 것이 보장된다. 따라서, 아이락(Airac)의 분석결과 오류가 없다고 결정되면 그 프로그램은 실행 중에 오류가 발생하지 않음을 보장할 수 있다.

이 연구는 과학기술부 창의적 연구진흥사업(프로그램 분석시스템 연구단, 1998-2003)외에 교육인적자원부 BK21사업(2003-2004) 및 삼성전자(2004)의 지원으로 진행되었다.

웹사이트: http://www.kosef.re.kr

연락처

홍보팀 문기호 042-869-6111

국내 최대 배포망으로 보도자료를 배포하세요