KAIST 전산학부, C to Rust 자동번역기술 개발
(n.news.naver.com)KAIST(카이스트)는 류석영 전산학부 연구팀(프로그래밍 언어 연구실)이 C언어의 핵심 기능에서 메모리 문제가 생기지 않도록 방지하는 'C-러스트 코드 번역 기술'을 개발했다고 13일 밝혔다. 이번 연구 결과는 국제 학술대회 '국제 자동 소프트웨어엔지니어링학회(ASE)'에 채택됐다.
논문은 한국 시각으로 6월 21일 PACMPL(Proceedings of the ACM on Programming Languages) 저널에 게재됐고 6월 25일부터 27일 사이에 진행된 PLDI 2024 학술대회에서 발표됐다.
기사 제목만 보면 C->Rust 번역이 다 되는 것 처럼 오해하기 쉬운데, 위 기사 내용도, 다른 기사에서도, union 변환만 언급되는 것 같네요.
(위 기사)
"연구팀은 기존 C언어의 유니언을 러스트 코드로 번역하는 기술을 개발했다."
"연구팀은 '완전 자동 번역' 단계에 이르기 위한 후속 연구를 진행할 계획이다."
(다른 기사)
"KAIST(총장 이광형)는 전산학부 류석영 교수 연구팀(프로그래밍 언어 연구실)이 C언어의 유니언(union)*을 러스트의 태그드 유니언(tagged union)으로 변환하는 기술을 세계 최초로 개발했다고 13일 밝혔다."
https://www.lecturernews.com/news/articleView.html?idxno=158865
메모리 안전성이라는 측면에서는 충분히 메리트가 있지 않을까요
기존의 C 코드를 소유권 기반으로 관리하게끔 할 때 자동적으로 변환이 안되는 부분에서 보안 이슈를 찾아낼 수도 있을 것 같구요