사이언스타임즈 로고

정보통신기술
연합뉴스
2024-08-19

KAIST, ‘안전성 논란’ C언어 러스트로 코드 번역 성공

  • 콘텐츠 폰트 사이즈 조절

    글자크기 설정

  • 프린트출력하기
C언어 러스트로 코드 번역 기술 개발한 KAIST 연구팀. ⓒKAIST 제공

한국과학기술원(KAIST)은 안전성 논란이 제기된 C언어를 러스트로 변환할 수 있는 코드 번역 기술을 개발했다고 13일 밝혔다.

컴퓨터 프로그래밍 언어인 C언어는 실행 속도가 빠르고 유지 보수가 쉬워 널리 쓰이고 있지만 메모리 할당과 관리에 치명적인 문제점을 갖고 있다. 이 때문에 지난 2월 미국 백악관은 C언어의 사용 중단을 촉구했고, 미국 국방고등연구계획국(DARPA)도 C언어로 작성된 코드를 러스트로 자동 번역하는 기술을 개발하는 연구 과제를 발표했다.

DARPA는 C의 메모리 문제를 막기 위해 러스트와 같이 안전한 언어를 사용해야 한다고 강조했다.

2015년부터 개발된 러스트는 운영 체제, 웹 브라우저 개발 등에 쓰이는 프로그래밍 언어로, C와 달리 프로그램 실행 전에 메모리 문제를 탐지하고 예방할 수 있다. C언어를 러스트로 번역하기 위한 연구가 시도되고 있지만, 큰 간극으로 인해 번역에 성공한 팀은 극소수다. 그마저도 '포인터'(pointer·데이터 저장 위치를 표현하는 기능)를 변환하는 수준에 머물고 있다.

전산학부 류석영 교수 연구팀은 C언어의 '유니언'(union·여러 종류의 데이터를 같은 공간에 보관해 메모리 효율을 높이는 C언어의 핵심 기능)을 러스트의 '태그드 유니언'(tagged union·같은 공간에 보관하는 데이터에 태그를 붙여 구분하는 기능)으로 변환하는 기술을 최초로 개발했다.

태그드 유니언 기능은 기존 C언어의 유니언 기능과 달리 데이터를 종류별로 구분할 수 있어 메모리 문제를 일으키지 않는다. 연구팀은 C언어의 유니언에 특화된 새로운 프로그램 분석 기법을 고안, 러스트의 태그드 유니언으로 자동 번역하는 데 성공했다.

류석영 교수는 "안전한 소프트웨어 제작을 목표로 C-러스트 코드 번역의 중요성을 일찍이 파악하고 각종 프로그래밍 언어 기법들을 코드 번역에 적극적으로 도입해 나온 결과"라며 "완전한 자동 번역을 위해 풀어야 할 난제가 많은 만큼 후속 연구를 이어갈 계획"이라고 말했다.

연합뉴스
저작권자 2024-08-19 ⓒ ScienceTimes

태그(Tag)

관련기사

목록으로
연재 보러가기 사이언스 타임즈에서만 볼 수 있는
특별한 주제의 이야기들을 확인해보세요!

인기 뉴스 TOP 10

속보 뉴스

ADD : 06130 서울특별시 강남구 테헤란로7길 22, 4~5층(역삼동, 과학기술회관 2관) 한국과학창의재단
TEL : (02)555 - 0701 / 시스템 문의 : (02) 6671 - 9304 / FAX : (02)555 - 2355
정기간행물 등록번호 : 서울아00340 / 등록일 : 2007년 3월 26일 / 발행인 : 정우성 / 편집인 : 윤승재 / 청소년보호책임자 : 윤승재
한국과학창의재단에서 운영하는 모든 사이트의 콘텐츠는 저작권의 보호를 받는 바 무단전재, 복사, 배포 등을 금합니다.

사이언스타임즈는 과학기술진흥기금 및 복권기금의 지원으로 우리나라의 과학기술 발전과 사회적 가치 증진에 기여하고 있습니다.