레거시 에소프를 포트란 2008로 자동 변환하는 모델 기반 접근법

레거시 에소프를 포트란 2008로 자동 변환하는 모델 기반 접근법
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 1970년대에 개발된 FORTRAN 77 전용 확장 언어 Esope를 최신 표준인 Fortran 2008로 자동 마이그레이션하기 위한 모델‑드리븐 엔지니어링 방법을 제시한다. Esope의 추상 구문 트리를 모델로 변환하고, 방문자와 문자열 템플릿을 결합한 하이브리드 변환 엔진을 통해 가독성이 높은 Fortran 2008 코드를 생성한다. 주요 기여는 변환 파이프라인 설계, 구조형 데이터와 동적 메모리 관리 매핑, 그리고 확장성과 유지보수성을 고려한 구현이다.

상세 분석

이 연구는 레거시 시스템이 여전히 핵심 비즈니스 로직을 담당하고 있는 산업 현장에서, 오래된 언어와 전용 확장(예: Esope)의 유지보수 비용이 급증한다는 문제의식을 바탕으로 시작된다. Esope는 FORTRAN 77에 세그먼트와 동적 메모리 관리 기능을 추가한 전용 트랜스파일러이며, 기존 컴파일러 최적화와 호환되지 않아 성능 저하와 장기적인 컴파일 가능성에 위험을 내포한다. 논문은 이러한 상황을 해결하기 위해 모델‑투‑모델(M2M) 변환과 모델‑투‑텍스트(M2T) 변환을 결합한 하이브리드 접근법을 제안한다. 먼저 Esope 소스 코드를 파싱해 AST를 생성하고, 이를 EMF(Eclipse Modeling Framework) 기반 메타모델에 매핑한다. 이후 변환 단계에서는 규칙 기반과 절차적 접근을 혼합해, 세그먼트 정의를 Fortran 2008의 파생형(derived type)으로, 세그먼트 할당·해제·재조정 명령을 allocate, deallocate, resize 구문으로 매핑한다. 특히 방문자 패턴을 이용해 복잡한 컨텍스트(예: 포인터와 인덱스의 이중 간접성)를 분석하고, Acceleo‑유사 템플릿을 통해 가독성 높은 코드 텍스트를 생성한다. 변환 로직은 모듈화돼 새로운 Esope 구문이나 Fortran 2008 기능이 추가될 경우 손쉽게 확장 가능하도록 설계되었다. 성능 측면에서는 변환 전후 코드 라인 수가 증가하지만, 인간이 이해하기 쉬운 구조와 주석을 유지함으로써 유지보수 비용을 크게 절감한다는 점을 강조한다. 또한, 변환 파이프라인은 대규모 코드베이스(수십만 라인)에도 적용 가능하도록 스트리밍 파싱과 메모리 효율적인 모델 저장 방식을 채택했다. 제한점으로는 현재 변환이 완전 자동이 아니라 일부 복잡한 메모리 레이아웃이나 비표준 FORTRAN 77 구문에 대해 수동 보정이 필요하다는 점을 들며, 향후 정적 분석과 테스트 자동화를 통해 이러한 수작업을 최소화할 계획을 제시한다.


댓글 및 학술 토론

Loading comments...

의견 남기기