프로그래밍 언어 자동 생성…SW 개발자 노고 줄인다

류석영 한국과학기술원 전산학부 교수팀
자바스크립트 문법 중간언어화 기술 개발
ECMA스크립트 명세 기술 의미 자동 투영
개발자 수동 개발 시 발생하는 결함 막아

자바스크립트는 전 분야에 걸쳐 범용적으로 사용되는 프로그래밍 언어로, 이를 위한 다양한 소프트웨어(SW)가 개발되고 있다. 이런 SW 개발 단계 노고를 크게 줄여줄 기술이 개발됐다. 'ECMA스크립트' 명세로부터 도구를 결함 없이 자동생성 해낸다.

류석영 한국과학기술원(KAIST·총장 신성철) 전산학부 교수팀은 유럽 컴퓨터 제조업자협회(ECMA)가 규정한 ECMA스크립트 명세(spec·프로그래밍 언어를 정의한 책)로부터 자바스크립트 문법과 의미를 자동으로 해석하고, 컴퓨터가 이해할 수 있도록 중간언어화하는 기술을 개발했다고 29일 밝혔다.

류석영 KAIST 교수팀이 개발한 기술 구조
류석영 KAIST 교수팀이 개발한 기술 구조

인터프리터(interpreter), 컴파일러(compiler) 등 프로그래밍 언어 SW는 영어로 된 해당 언어 명세를 토대로 개발자가 직접 개발한다. ECMA스크립트 또한 자바스크립트 문법과 의미를 규격화된 형태로 설명하지만, 2015년도부터 매년 갱신되고 있어 개발자에 큰 부담이 되고 있다.

연구팀은 이런 과정을 자동화했다. 자연어 처리 기술을 활용, 영어(자연어)로 된 명세 문법과 의미를 추출기(Extractor)로 자동 추출한다. 특히 ECMA스크립트 명세는 정형화된 형태로 구성돼 있어 더욱 추출이 용이하다. 추출 내용을 기반으로 인터프리터 등 SW를 자동 생성해낸다. 결과물 결함을 걱정할 필요도 없다. 명세에서 기술하는 의미를 자동으로 투영해, 수동으로 개발할 때 발생할 수 있는 결함을 막는다.

연구팀은 향후 추가 연구를 통해 다른 프로그래밍 언어에도 이 기술을 적용할 수 있을 것으로 기대하고 있다. 이 기술이 쓰이게 되면 해당 분야에서는 프로그램 개발 및 결함 검수에 드는 수고를 크게 줄일 수 있다.

이번 연구는 지난 9월 제 35회 IEEE/ACM ASE(International Conference on Automated Software Engineering) 학회에서 발표됐다.

류석영 교수는 “프로그램 개발자들이 수개월에 걸쳐 매년 반복해 온 작업을 자동으로 처리하고 결함 걱정도 덜 수 있게 했다”며 “향후 기술을 더욱 발전시켜 적용 폭을 넓힐 계획”이라고 말했다.

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