KAIST, 개발기간 줄여줄 새로운 프로그래밍 방법론 도출

한국과학기술원(KAIST·총장 신성철)이 지난 수 십 년 동안 프로그래밍 과정에서 비효율을 야기해 온 문제를 국제 공동연구로 해소했다. 새로운 프로그래밍 방법론을 도출해 프로그램 개발 시간을 줄이고 안전성을 높일 수 있게 됐다.

류석영 KAIST 전산학부 교수는 자바(Java) 개발을 주도한 가이 L 스틸 주니어 미국 오라클 랩 박사와 프로그래밍 언어 '포트리스' '스칼라'의 새로운 '타입 시스템'을 정의하고, 이를 수학적으로 증명하는데 성공했다고 11일 밝혔다.

공동 연구진이 개발한 타입 시스템 개요.
공동 연구진이 개발한 타입 시스템 개요.

'타입'은 각종 숫자, 함수, 문자열 등 프로그래밍 언어를 구성하는 한 요소다. 이들이 프로그램 코드에 잘못 적히면 장애가 생긴다. 프로그램이 구동(런타임)하는 도중 비정상적으로 종료될 수 있다. 이런 위험을 사전에 검사·경고하는 것을 '타입 검사', 이 전체 체계를 타입 시스템이라고 부른다.

기존 타입 검사는 정확도가 그다지 높지 않다. 문제 부분만 가려내지 못해 정상 프로그램 부분까지 위험성을 경고하는 일이 생긴다. 이로 인해 개발자가 확인해야 할 부분이 많아지고 그만큼 프로그램 개발 시간과 비용도 늘어난다.

특히 검사가 어려운 타입은 함수다. 함수는 워낙 다양한 기능을 가진 타입이기 때문에 위험 여부를 정확히 가려내기 어렵다.

시스템을 개발한 국제 공동 연구진 모습
시스템을 개발한 국제 공동 연구진 모습

연구팀은 아무리 복잡한 타입도 쉽게 구별하고 기능을 세분화할 수 있도록 시스템을 개선하고, 런타임 도중에 타입을 계산하는 일도 가능하도록 한 새로운 타입 시스템을 구현해 문제를 해결했다.

이렇게 개발한 성과는 지난달 런던에서 열린 '스칼라 심포지엄'에서 호평을 받았다. 매사추세츠공대(MIT)가 주축이 돼 만든 프로그래밍 언어 '줄리아(Julia)'도 이번 성과 적용을 검토하고 있다.

류석영 교수는 “이번 연구 성과는 불필요한 프로그램 재검사와 수정을 대폭 줄일 수 있다”며 “그동안 프로그래머를 괴롭힌 비효율을 막으면서 프로그램 구현과 표현력까지 높일 수 있다”고 말했다.

대전=김영준기자 kyj85@etnews.com