Sign In

Project-Level C-to-Rust Translation via Pointer Knowledge Graphs

Created by
  • Haebom
Category
Empty

μ €μž

Zhiqiang Yuan, Wenjun Mao, Zhuo Chen, Xiyue Shang, Chong Wang, Yiling Lou, Xin Peng

πŸ’‘ κ°œμš”

λ³Έ μ—°κ΅¬λŠ” C μ½”λ“œλ₯Ό μ•ˆμ „ν•œ Rust μ½”λ“œλ‘œ μžλ™ λ³€ν™˜ν•˜λŠ” 데 μžˆμ–΄ LLM 기반 μ ‘κ·Ό λ°©μ‹μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κ³ μž ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ ν¬μΈν„°μ˜ 전역적인 μ‚¬μš© 정보와 Rust μΉœν™”μ μΈ μ–΄λ…Έν…Œμ΄μ…˜μ„ κ²°ν•©ν•œ "C-to-Rust 포인터 지식 κ·Έλž˜ν”„(KG)"λ₯Ό μ œμ•ˆν•©λ‹ˆλ‹€. 이 KGλ₯Ό ν™œμš©ν•˜λŠ” PtrTrans 방법둠은 LLMμ—κ²Œ 포괄적인 포인터 μ˜λ―Έλ‘ μ„ μ œκ³΅ν•˜μ—¬ μ•ˆμ „ν•˜κ³  κ΄€μš©μ μΈ Rust μ½”λ“œ 생성을 λ•μŠ΅λ‹ˆλ‹€.

πŸ”‘ μ‹œμ‚¬μ  및 ν•œκ³„

β€’
κΈ°μ‘΄ LLM 기반 C-to-Rust λ²ˆμ—­ 방식이 λ‹¨μœ„λ³„ λ²ˆμ—­μœΌλ‘œ 인해 포인터 μ²˜λ¦¬μ— 어렀움을 κ²ͺλŠ” 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.
β€’
μ œμ•ˆλœ 포인터 지식 κ·Έλž˜ν”„λŠ” μ½”λ“œ 쒅속성 κ·Έλž˜ν”„μ— ν¬μΈν„°μ˜ 전역적인 μ‚¬μš© 정보와 Rust μ†Œμœ κΆŒ, κ°€λ³€μ„±, null κ°€λŠ₯μ„±, 생λͺ…μ£ΌκΈ° λ“±μ˜ 정보λ₯Ό ν†΅ν•©ν•˜μ—¬ λ²ˆμ—­μ˜ μ•ˆμ „μ„±κ³Ό 정확성을 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.
β€’
μ‹€ν—˜ κ²°κ³Ό, PtrTransλŠ” κΈ°μ‘΄ 방식 λŒ€λΉ„ μ•ˆμ „ν•˜μ§€ μ•Šμ€ μ‚¬μš©μ„ 99.9% κ°μ†Œμ‹œν‚€κ³  κΈ°λŠ₯적 정확성을 29.3% ν–₯μƒμ‹œν‚€λŠ” μ„±κ³Όλ₯Ό λ³΄μ˜€μŠ΅λ‹ˆλ‹€.
β€’
(ν•œκ³„μ  λ˜λŠ” ν–₯ν›„ 과제) μ‹€μ œ λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ— λŒ€ν•œ μ μš©μ„± 검증 및 λ³΅μž‘ν•œ 라이브러리 μΈν„°νŽ˜μ΄μŠ€μ— λŒ€ν•œ λ²ˆμ—­ 정확도 ν–₯상이 ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
πŸ‘