• 제목/요약/키워드: 코드 변환

검색결과 748건 처리시간 0.024초

스택기반코드에서 효율적인 3-주소 코드로의 변환기 설계 (Design of Translator for Efficient 3-Address Code from Stack Based Code)

  • 김지민;김기태;조선문;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 추계학술발표논문집(상)
    • /
    • pp.433-436
    • /
    • 2004
  • 자바 언어는 객체지향 언어로써 인터프리터에 의하여 실행되고 구조 중립적이다. 자바 언어는 인터프린트 과정을 거치므로 다른 언어에 비해서 실행이 느리다는 단점을 가지고 있다. 자바 바이트코드의 실행 비용을 줄이기 위한 연구의 일환으로 본 논문에서는 자바 바이트코드 최적화기인 CTOC 중에서 스택기반 코드를 받아 들여 스택을 사용하지 않는 3-주소 코드로 변화시키는 CTOC-TR의 설계에 대하여 논한다. CTOC-TR은 총 3단계를 변환 과정을 수행하는데 첫 단계에서는 타입 없는 3-주소코드를 생성한다. 두 번째 단계에서는 스택변수와 지역변수를 나누는 과정을 수행하는데 이 과정은 타입을 정해주기 위해서 꼭 필요한 과정이다. 마지막으로 타입 추론 함수를 이용하여 나누어진 변수에 타입을 지정한다. 그 후 생성된 3-주소 코드를 분석기와 최적화기에 입력시켜 효율적인 3-주소 코드를 생성한다.

  • PDF

고밀도 광 기록 시스템을 위한 새로운 변조 코드에 대한 VHDL 구현 (VHDL Implementation of New Modulation Code for High Density Optical Recording System)

  • 권인수;이주현;이재진
    • 한국통신학회논문지
    • /
    • 제26권10B호
    • /
    • pp.1458-1463
    • /
    • 2001
  • 본 논문에서는 고밀도 광 기록 시스템에 적용이 가능한 코드율이 8/15이고, (d, $textsc{k}$)=(2, 15)인 새로운 변조 코드 체계에 대한 변조 코딩 방법을 VHDL로 구현하였다. 인코딩 방법은 크게 세 가지로 구분되어 진다. 먼저 입력 데이터를 복수개의 바이트 단위로 묶어서 블록을 정의하고, 이 블록의 입력 데이터를 변환 테이블을 이용해서 채널 데이터로 변환한 후, 머징 비트(merging bits)를 첨가하여 데이터를 전송한다. 위와 같은 코딩 방법을 적용하여 새롭게 개발한 변조 코드에 대해 모의 실험을 통한 성능을 분석한 후 VHDL로 구현하여 검증하였다.

  • PDF

x86 assembly-to-C 변환기 (x86 assembly-to-C Translator)

  • 이호진;이상희;박보현;김선욱
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.37-40
    • /
    • 2010
  • 본 논문에서는 C 언어로부터 GNU 컴파일러에 의하여 생성된 x86 어셈블리 코드를 고수준의 언어인 C 코드로 변환하여 출력하는 컴파일러의 구현에 대하여 설명한다. 또한, 원천 C 코드와 새롭게 생성된 C 코드와의 성능 비교분석을 수행하였다.

임베디드 소프트웨어의 에너지 효율성과 언어 변환 지원을 위한 코드 리팩토링 기법 확장 (Extension of Code Refactoring Technique to Support Energy Efficiency and Language Conversion of Embedded Software)

  • 남승우;홍장의
    • 융합정보논문지
    • /
    • 제8권2호
    • /
    • pp.91-103
    • /
    • 2018
  • 리팩토링은 기존 레거시 코드에 대한 품질을 확보하기 위한 공학적 기술로서, 프로그램의 기능은 변하지 않으면서 내부 구조를 개선하는 작업이다. 다양한 오픈 소스 소프트웨어가 재사용되면서, 기술적 이유 또는 시장 요구로 인하여 프로그래밍 언어 변환을 통한 소스 코드 재사용이 점진적으로 요구되고 있다. 이러한 상황에서 에너지 효율성을 고려하는 언어 변환 리팩토링 기법은 임베디드 소프트웨어 개발의 생산성은 물론 품질 향상을 위한 중요한 수단으로 여겨지고 있다. 본 논문에서는 기존에 제시된 에너지 절감형 리팩토링 기법에 추가하여 프로그래밍 언어의 문법 및 구조의 비교와 매핑을 통해 다른 언어로 변환하는 코드 리팩토링 기법을 제시하였다. 제안하는 리팩토링 기법의 활용은 소프트웨어 개발 언어의 환경변화에 대처하고, 기존 코드의 재사용을 높임으로써 신속한 소프트웨어 개발 및 품질 향상을 통한 제품의 경쟁력 향상을 기대할 수 있다.

중간언어 생성을 위한 바이너리 코드 자료형 및 변수 추론 기술 조사 분석 (A Survey of the Scheme of Data Type and Variables Inference for Intermediate Language Generation from Binary Code)

  • 민예슬;정현오;손윤식;정준호;고광만;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 춘계학술발표대회
    • /
    • pp.283-286
    • /
    • 2017
  • 소프트웨어 내제되어 있는 보안약점과 보안취약점으로 인해 사회적으로 많이 비용이 발생함에 따라 안전한 소프트웨어를 개발하고자하는 요구가 증가하고 있다. 최근 바이너리 코드에 내제된 보안약점을 분석하기 위해서 중간코드를 이용하여 정적분석을 수행하는 다양한 연구가 진행되고 있다. 중간 언어를 사용함으로 실행환경에 따라 달라지는 바이너리 코드가 중간언어로만 변환이 된다면 동일한 형태의 보안약점 분석기술을 통해 효과적인 수행이 가능하다. 이 기술의 핵심은 바이너리 코드로부터 얼마나 코드내의 자료형 및 변수를 재구성하여 중간언어로 변환하는 것이다. 본 논문에서는 이와 같은 바이너리 코드로부터 보안약점 분석을 위한 중간언어 변환시 효과적으로 자료형 및 변수 등에 관한 정보를 재구성하는 기법들에 대해서 조사 분석하였다.

CTOC에서 코드 최적화 수행 (Processing of Code Optimization in CTOC)

  • 김기태;유원희
    • 한국멀티미디어학회논문지
    • /
    • 제10권5호
    • /
    • pp.687-697
    • /
    • 2007
  • 자바 바이트코드는 많은 장점을 가지고 있지만, 수행속도가 느리고 프로그램 분석이나 최적화에 적절한 표현이 아니라는 단점이 존재한다. 따라서 네트워크와 같은 실행 환경에서 효율적으로 수행되기 위해서는 최적화된 코드로 변환이 필요하다. 따라서 우리는 최적화된 코드로의 변환을 위해 CTOC를 구현하였다. 최적화 과정에서 CTOC는 정적으로 값과 타입을 결정하기 위해 변수를 배정에 따라 분리하는 SSA From을 사용하였다. 하지만 SSA Form변환 과정에서 ${\phi}$-함수의 추가에 의해 오히려 노드의 수가 증가되는 문제점이 발생하였다. 이를 해결하기 위해 본 논문에서는 SSA Form에서 복사 전파와 죽은 코드 제거 최적화를 수행한다. 또한 기존의 SSA Form은 표현식보다는 주로 변수에 관련된 것이라는 단점이 존재한다. 따라서 본 논문에서는 SSA Form 형태의 표현식에 대해 복사 전파와 죽은 코드 제거와 같은 최적화를 적용한 후 다시 중복된 표현식을 제거하는 과정을 추가로 수행한다.

  • PDF

순환공학 환경에서의 실시간 시스템 개발 및 검증을 위한 코드 변환기 설계 (Design of Code Converter for Development and Verification of Real-Time System in Software Round-Trip Engineering Environment)

  • 고현;조상규;김광종;이연식
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2001년도 춘계학술발표논문집 (상)
    • /
    • pp.193-196
    • /
    • 2001
  • 본 논문은 ATM(Abstract Timed Machine)으로 명세된 실시간 시스템에 대한 재/역공학 측면에서의 개발 및 검증을 위한 코드 변환기를 설계한다. ATM은 모드(mede), 전이(transition), 포트(per)로 구성되는데, 순공학 과정에서 실시간 시스템을 설계, 명세 하는 기존의 정형기법과는 달리 ATM은 소프트웨어의 순환공학 과정에서 사용하기 위해 설계되었다. ATM은 기존 정형기법이 순공학 과정에서의 특정 물리적 환경에서 실행되는 동적행위에 대한 부적절한 표현에 대해 순환공학에서 실시간 시스템의 속성은 물론 특정 환경과 동적 정보 등을 명세하기 위한 정형 기법으로서, 본 논문에서는 DoME을 이용하여 ATM 명세도구를 개발하고 이를 이용하여 실시간 시스템의 특정 요구사항을 위한 ATM을 명세한다. 또한 해당 ATM을 DOME/ATM 스크립트 파일로 저장하고 이에 대한 명세분석을 통해 노드와 관련된 정보를 추출하여 다른 분석도구가 이용할 수 있도록 DB에 저장하거나 매개 언어인 SRL/ATM으로 변환하며, 이러한 SRL/ATM으로부터 실행코드에 대한 관련 정보를 추출하여 실시간 시스템 개발 및 검증을 위한 Ada 코드를 생성할 수 있는 코드 변환기를 설계한다.

  • PDF

자체 수정 코드를 탐지하는 정적 분석방법의 LLVM 프레임워크 기반 구현 및 실험 (An LLVM-Based Implementation of Static Analysis for Detecting Self-Modifying Code and Its Evaluation)

  • 유재일;최광훈
    • 정보보호학회논문지
    • /
    • 제32권2호
    • /
    • pp.171-179
    • /
    • 2022
  • 자체 수정 코드(Self-Modifying-Code)란 실행 시간 동안 스스로 실행 코드를 변경하는 코드를 말한다. 이런 기법은 특히 악성코드가 정적 분석을 우회하는 데 악용된다. 따라서 이러한 악성코드를 효과적으로 검출하려면 자체 수정 코드를 파악하는 것이 중요하다. 그동안 동적 분석 방법으로 자체 수정 코드를 분석해왔으나 이는 시간과 비용이 많이 든다. 만약 정적 분석으로 자체 수정 코드를 검출할 수 있다면 악성코드 분석에 큰 도움이 될 것이다. 본 논문에서는 LLVM IR로 변환한 바이너리 실행 프로그램을 대상으로 자체 수정 코드를 탐지하는 정적 분석 방법을 제안하고, 자체 수정 코드 벤치마크를 만들어 이 방법을 적용했다. 본 논문의 실험 결과 벤치마크 프로그램을 컴파일로 변환한 최적화된 형태의 LLVM IR 프로그램에 대해서는 설계한 정적 분석 방법이 효과적이었다. 하지만 바이너리를 리프팅 변환한 비정형화된 LLVM IR 프로그램에 대해서는 자체 수정 코드를 검출하기 어려운 한계가 있었다. 이를 극복하기 위해 바이너리를 리프팅 하는 효과적인 방법이 필요하다.

순환공학 환경을 위한 ATM 명세 코드 변환기 설계 및 구현 (Design and Implementation of ATM Specification Code Converter for Software Round-Trip Engineering Environment)

  • 고현;조상규;이연식
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.607-609
    • /
    • 2001
  • 본 논문은 ATM(Abstract Time Machine)으로 명세된 실시간 시스템에 대한 재/역공학 측면에서의 검증을 위한 Ada 코드로의 변환 과정에서 요구되는 DoME/ATM 파스트리 생성과정과 이를 통해 추출되는 정보를 이용하여 ATM을 SRL/ATM으로의 변환방법을 설계 구현한다. 임무 위급 시스템 같은 실시간 시스템을 명세, 분석, 검증하기 위한 정형기법인 ATM은 순환공학에서의 실시간 시스템 속성은 물론 특정 환경과 동적 정보 등을 명세하기 위한 정형기법이다. 본 논문에서는 DoME을 이용하여 실시간 시스템에서의 특정 요구사항에 대한 DoME/ATM을 생성하고, DoME의 기능을 이용하여 ATM을 스크립트 코드로 저장한 후, DoME/ATM 파스트리 생성기를 통해 명세 정보를 추출하여 SRL/ATM으로의 변환기를 설계 구현한다. 변환기에 의해 생성된 매개언어인 SRL은 명시적인 정의와 효율적 분석 정보를 제공함으로써 Ada, COBOL, C 등과 같은 실행코드를 생성할 수 있도록 하는 기반을 제공한다.

  • PDF

정상 가우시안 소오스와 음성 신호용 변환 격자 코드에 대한 훈련 알고리즘 개발 (A Training Algorithm for the Transform Trellis Code with Applications to Stationary Gaussian Sources and Speech)

  • 김동윤;박용서;황금찬
    • 한국음향학회지
    • /
    • 제11권1호
    • /
    • pp.22-34
    • /
    • 1992
  • 변환 격차 코드는 모든 레이트에서 정상 가우시안 소오스와 자승 오차 왜곡에 대해 최적코드이다. 본 논문은 실제 데이타의 통계적 특성에 잘 맞는 코드를 얻기 위해 점근적으로 최적인 변환 격자 코드를 훈련시켰다. 훈련 알고리즘은 격자 코드북을 탐색하기위한 M알고리즘과 코드북을 새롭게하기 위한 LBG 알고리즘을 사용했다. 훈련된 변환 격자 코드의 성능을 조사하기 위해서 상관 계수가 0.9인 1차 AR 가우시안 소오스와 실제 음성 데이타를 사용하였다. 1차 AR 소오스에서, 훈련에 사용되지 않은 데이타에 대한 SNR은 레이트에 따라 샤논의 정보량 왜곡 함수에 의한 SNR보다 0.6에서 1.4dB 낮았으나, 이것은 같은 계산량을 사용한 다른 코딩 결과들보다 우수 했다. 실제 음성 데이타는 레이트 1.0 bits/sample에서 코딩을 했으며, 보다 좋은 성능을 얻기 위해 윈도우 함수와 이득 적용을 사용했다.

  • PDF