소프트웨어(SW) 시스템의 오류(Bug)를 자동으로 검사해 주는 검출기가 미국, 프랑스에 이어 세 번째로 국내연구진에 의해 개발됐다.
서울대 컴퓨터공학부 이광근교수팀은 소프트웨어 시스템 오류를 알아서 검출해주는 분석기인 아이락(Airac)을 개발하는데 성공했다고 1일 밝혔다. 이 연구는 과학기술부와 한국과학재단의 창의적 연구진흥사업으로 이뤄졌다.
이에 따라 오류없는 소프트웨어를 적은 비용으로 개발할 수 있게 하는 첨단기반 기술을 확보, 품질을 획기적으로 향상시킬 수 있을 것으로 기대된다.
아이락은 프로그램에 있는 오류를 프로그램을 테스트하지 않고 자동으로 모두 찾아주는 소프트웨어. 컴퓨터 프로그램은 한없이 복잡하게 얽혀 있는 명령문들의 거대한 구조물이기 때문에 숨어 있는 오류를 미리 찾아낸다는 것은 불가능하다고 여겨졌다.
하지만 이교수팀은 지난 10년 동안 정적프로그램 분석기술(Static program analysis) 이론을 이용해 그 문제를 해결했다. 아이락이 찾아내는 오류는 프로그램 실행중에 벗어나지 말아야 할 메모리 지역들을 벗어나는 경우다.
이같은 실용성은 삼성전자 소프트웨어센터(센터장 김영주)의 실제 소프트웨어 개발현장에 적용해 23만줄의 프로그램을 1시간 반만에(분석속도 약 50 line/sec) 자동분석해 실제 메모리접근 오류들을 모두 찾아내는 성능을 보이기도 했다.
연구진은 아이락의 성능은 2004년 스탠포드대학의 도슨 앵글러교수가 상용화한 검증기를 능가한다고 설명했다.
소프트웨어의 오류가 우리들의 일상에 끼치는 손해는 점점 커지고 있다. 미국 표준연구원에 따르면 소프트웨어 오류 때문에 미국경제가 지불한 비용은 2002년 595억달러로 집계됐다.
특히 아이락을 실현한 프로그래밍 언어 자체도 이광근 교수팀이 직접 지난 5년동안 독자개발한 nML이라는 차세대 프로그래밍 시스템을 사용했다.
이광근교수는 "아이락이 기존 소프트웨어 테스트나 모니터링 기술과 다른 점은 소프트웨어를 실행시키지 않고 모든 해당 오류를 미리 찾아내는 것"이라며 "이 검출기는 테스트 실행없이 모든 오류를 검출하는 것이 보장된다"고 말했다.
--comment--
첫 번째 댓글을 작성해 보세요.
댓글 바로가기