전체메뉴 검색창 열기 / 닫기
닫기

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

발행일2019.08.11 17:00

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

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

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

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

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

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

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

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

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

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

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



주요뉴스