• 제목/요약/키워드: Source Code Generator

검색결과 41건 처리시간 0.028초

4세대 언어에서의 역공학 환경 구성 (A Study on Construction of Reverse Engineering Environment in Forth Generation Language)

  • 진영배;왕창종
    • 한국정보처리학회논문지
    • /
    • 제2권4호
    • /
    • pp.509-523
    • /
    • 1995
  • 소프트웨어의 종류가 다양하고, 크기가 커짐에 따라서 유지 보수 문제는 더욱 복 잡하고 어렵게 되었다. 따라서 소프트웨어의 유지 보수가 소프트웨어 생명 주기에서 가장 비용을 많이 차지하는 부분이 되었다. 또한 범용 소프트웨어를 개발하거나, 사용 하기 위해 단말기 사용자에게도 쉽게 느껴지는 4세대 언어가 앞으로 많이 적용되는 개 발 환경으로 될 것이다. 이에 따라서 프로그램의 유지 보수 측면에서 많은 연구가 이 루어진 COBOL, C, FORTRAN, RASCAL등과 같은 언어처럼 4세대 언어로 작성된 원시크드 에 대해서도 프로그램의 이해를 위한 분석 및 재사용 방법의 연구가 이루어져야 한다. 본 연구에서는 4세대 언어로 작성된 원시 코드로부터 메타 언어 형태로 변환하고 프로 그램 이해를 위한 문서 생성기(Document Generator), 보고서 생성기(Report Generator) , 모듈 분석기(Mldule Analyzer), 코드번역기(Code Translator)를 설계하고 구현함으 로서 4세대는 언어에서의 역공학 도구를 제안하여, 프로그램의 이해 및 관리를 효율적 으로 하는데 목적이 있다.

  • PDF

LLVM 기반의 임베디드 시스템 성능 분석기의 연구 (A Study of LLVM-based Embedded System Performance Analyzer)

  • 조두산
    • 문화기술의 융합
    • /
    • 제8권1호
    • /
    • pp.577-582
    • /
    • 2022
  • 새로운 임베디드 시스템을 개발할 때 응용 프로그램과 에뮬레이터, 그리고 컴파일러를 동시에 개발한다. 모든 시스템 구성요소의 성능을 최적으로 개발하기 위해서는 응용 프로그램 개발시 부분 최적화를 동시에 진행하여야 한다. 이를 위하여 소스 레벨 성능 분석기를 개발하면 응용 프로그램 소스 코드를 모듈별로 성능 평가하여 최적화하는 것이 가능하다. 일반적으로 응용 프로그램의 성능은 반복문에서 결정된다. 소스코드를 중간표현 (Intermediate Representation) 코드 생성기를 이용하여 변환하고, 변환된 중간 표현 단계의 명령어들로 실행시간을 분석 할 수 있다. 실행시간 성능 평가 결과를 바탕으로 응용 프로그램 코드를 개선하면 최종적으로 개발된 통합 플랫폼에서 더 나은 결과물을 얻을 수 있다. 본 연구에서는 새로운 임베디드 시스템의 개발중에 응용 프로그램을 동시 개발하는 과정에서 사용 가능한 소스 레벨 성능 분석기에 대하여 기술하고 있다. 성능 분석기를 사용하면 최종 임베디드 시스템의 성능을 보다 빠르게 최적화하는 것이 가능하게 된다.

The development of high fidelity Steam Generator three dimensional thermal hydraulic coupling code: STAF-CT

  • Zhao, Xiaohan;Wang, Mingjun;Wu, Ge;Zhang, Jing;Tian, Wenxi;Qiu, Suizheng;Su, G.H.
    • Nuclear Engineering and Technology
    • /
    • 제53권3호
    • /
    • pp.763-775
    • /
    • 2021
  • The thermal hydraulic performances of Steam Generator (SG) under both steady and transient operation conditions are of great importance for the safety and economy in nuclear power plants. In this paper, based on our self-developed SG thermal hydraulic analysis code STAF (Steam-generator Thermalhydraulic Analysis code based on Fluent), an improved new version STAF-CT (fully Coupling and Transient) is developed and introduced. Compared with original STAF, the new version code STAF-CT has two main functional improvements including "Transient" and "Fully Three Dimensional Coupling" features. In STAF-CT, a three dimensional energy transferring module is established which can achieve energy exchange computing function at the corresponding position between two sides of SG. The STAF-CT is validated against the international benchmark experiment data and the results show great agreement. Then the U-shaped SG in AP1000 nuclear power plant is modeled and simulated using STAF-CT. The results show that three dimensional flow fields in the primary side make significant effect on the energy source distribution between two sides. The development of code STAF-CT in this paper can provide an effective method for further SG high fidelity research in the nuclear reactor system.

비주얼 C++소스 코드를 위한 obfuscator 구현 (Implementation of an Obfuscator for Visual C++ Source Code)

  • 장혜영;조성제
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권2호
    • /
    • pp.59-69
    • /
    • 2008
  • 자동화된 obfuscation은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라고 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++ 소스 프로그램을 보호하기 위한 obfuscation 기법을 제안하고 구현하였다. 즉, 원본 비주얼 C++ 소스 프로그램을 기능은 동일하지만 이해하기에는 훨씬 힘든 또 다른 프로그램으로 변환시켜 주는 도구인 코드 obfuscator를 구현하였다. 비주얼 C++ 소스를 다루기 위해 ANTLR이라는 파서 생성기를 도입하여, '주석 제거', '식별자 스크램블', '변수 분할', '배열 중첩', '클래스 삽입', '루프 조건 확장'. '부가 피연산자 삽입', '무의미 코드 삽입' 등의 변환 방식들을 구현하였다. 또한, 복잡도, 복원력, 비용 등의 측면에서 본 obfuscator의 성능과 유효성을 평가하였다. 원본 소스 코드와 비교하여 실험한 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

ASN.1 원시 코드 자동 생성기 (ASN.1 Source Code Auto-Generator)

  • 정진영;김영철
    • 한국컴퓨터정보학회논문지
    • /
    • 제8권4호
    • /
    • pp.28-34
    • /
    • 2003
  • ASN.1은 망 관리에 필요한 기초적인 제반기술이다. ASN.1의 개발에는 ASN.1 명세 언어를 파싱하는 컴파일러 작업과 컴파일 결과 생성된 자료들을 DB에 입력하고, 입력된 자료를 사용자에게 프리티프린팅하여 보여주는 작업이 요구된다. 본 논문에서는 ASN.1 명세를 객체지향 언어인 C++로 자동적으로 변환하여 주는 원시 코드 자동 생성기를 설계하고 구현한다. 이와 함께 ASN.1 개발환경에 필요한 그래픽 사용자 인터페이스, DB 인터페이스 및 ASN.1 브라우저를 포함하는 통합 환경을 제공한다. 본 시스템의 구현은 Objectivity 데이타베이스를 이용하였고, 컴파일러 작업에서는 컴파일러 보조 도구인 flex와 byacc을 이용하였으며, 인터페이스 언어로는 Tcl/Tk를 사용하였다.

  • PDF

Design and Implementation of a Framework for Automatically Generating Control and Monitoring Software

  • Yoo, Dae-Sung;Sim, Min-Suck;Park, Sung-Ghue;Kim, Jong-Hwan;Yi, Myeong-Jae
    • 제어로봇시스템학회:학술대회논문집
    • /
    • 제어로봇시스템학회 2004년도 ICCAS
    • /
    • pp.932-935
    • /
    • 2004
  • In this paper, we present a framework that is easy to develop, modify, maintain and extend a control and monitoring software for any kinds of instruments. The presented framework is composed of three XML documents (IID, MAP, and CMIML) and two tools (Virtual Instrument Wizard, Generator). Interface information about behaviors and states of instruments is written on IID. Mapping information between the interface information in IID and API of a real instrument driver is written on MAP. Finally information about control and monitoring software is written on CMIML. IID, MAP and CMIML are written with XML format to provide common usage and platform independence of the suggested framework. VI Wizard generates CMIML (platform independent intermediate document) using IID and existing CMIML, and Generator generates source code of a control and monitoring software (platform dependent code) automatically using CMIML and MAP. The suggested framework that automatically generates control and monitoring software based on GUI provides easy development and maintenance. Also, reusability can be increased by reusing platform independent software description documents.

  • PDF

Implementation and benchmarking of the local weight window generation function for OpenMC

  • Hu, Yuan;Yan, Sha;Qiu, Yuefeng
    • Nuclear Engineering and Technology
    • /
    • 제54권10호
    • /
    • pp.3803-3810
    • /
    • 2022
  • OpenMC is a community-driven open-source Monte Carlo neutron and photon transport simulation code. The Weight Window Mesh (WWM) function and an automatic Global Variance Reduction (GVR) method was recently developed and implemented in a developmental branch of OpenMC. This WWM function and GVR method broaden OpenMC's usage in general purposes deep penetration shielding calculations. However, the Local Variance Reduction (LVR) method, which suits the source-detector problem, is still missing in OpenMC. In this work, the Weight Window Generator (WWG) function has been developed and benchmarked for the same branch. This WWG function allows OpenMC to generate the WWM for the source-detector problem on its own. Single-material cases with varying shielding and sources were used to benchmark the WWG function and investigate how to set up the particle histories utilized in WWG-run and WWM-run. Results show that there is a maximum improvement of WWM generated by WWG. Based on the above results, instructions on determining the particle histories utilized in WWG-run and WWM-run for optimal computation efficiency are given and tested with a few multi-material cases. These benchmarks demonstrate the ability of the OpenMC WWG function and the above instructions for the source-detector problem. This developmental branch will be released and merged into the main distribution in the future.

Lossy Source Compression of Non-Uniform Binary Source via Reinforced Belief Propagation over GQ-LDGM Codes

  • Zheng, Jianping;Bai, Baoming;Li, Ying
    • ETRI Journal
    • /
    • 제32권6호
    • /
    • pp.972-975
    • /
    • 2010
  • In this letter, we consider the lossy coding of a non-uniform binary source based on GF(q)-quantized low-density generator matrix (LDGM) codes with check degree $d_c$=2. By quantizing the GF(q) LDGM codeword, a non-uniform binary codeword can be obtained, which is suitable for direct quantization of the non-uniform binary source. Encoding is performed by reinforced belief propagation, a variant of belief propagation. Simulation results show that the performance of our method is quite close to the theoretic rate-distortion bounds. For example, when the GF(16)-LDGM code with a rate of 0.4 and block-length of 1,500 is used to compress the non-uniform binary source with probability of 1 being 0.23, the distortion is 0.091, which is very close to the optimal theoretical value of 0.074.

MEASUREMENT OF THE D-D NEUTRON GENERATION RATE BY PROTON COUNTING

  • Kim, In-Jung;Jung, Nam-Suk;Choi, Hee-Dong
    • Nuclear Engineering and Technology
    • /
    • 제40권4호
    • /
    • pp.299-304
    • /
    • 2008
  • A detection system was set up to measure the neutron generation rate of a recently developed D-D neutron generator. The system is composed of a Si detector, He-3 detector, and electronics for pulse height analysis. The neutron generation rate was measured by counting protons using the Si detector, and the data was crosschecked by counting neutrons with the He-3 detector. The efficiencies of the Si and He-3 detectors were calibrated independently by using a standard alpha particle source $^{241}Am$ and a bare isotopic neutron source $^{252}Cf$, respectively. The effect of the cross-sectional difference between the D(d,p)T and $D(d,n)^3He$ reactions was evaluated for the case of a thick target. The neutron generation rate was theoretically corrected for the anisotropic emission of protons and neutrons in the D-D reactions. The attenuations of neutron on the path to the He-3 detector by the target assembly and vacuum flange of the neutron generator were considered by the Monte Carlo method using the MCNP 4C2 code. As a result, the neutron generation rate based on the Si detector measurement was determined with a relative uncertainty of ${\pm}5%$, and the two rates measured by both detectors corroborated within 20%.

CompGenX: GenVoca와 XML 기반의 컴포넌트 코드 생성 시스템 (CompGenX: Component Code Generation System based on GenVoca and XML)

  • 최승훈
    • 인터넷정보학회논문지
    • /
    • 제4권3호
    • /
    • pp.57-67
    • /
    • 2003
  • 소프트웨어 생산 라인은. 소프트웨어 자산에 존재하는 일반적인 컴포넌트를 구체화하고 미리 정의된 아키텍처를 기반으로 조립함으로써, 고품질의 응용 프로그램을 빠르게 개발할 수 있도록 해 주는 것을 목적으로 한다. 본 논문에서는, 소프트웨어 생산 라인 구축을 지원하기 위하여 GenVoco 아키텍처와 XML/XSLT 기술을 이용한 컴포넌트 코드 자동 생성 기법과, 이를 기반으로 한 컴포넌트 코드 생성 시스템인 CompGenX(Component Generator using XML)를 제안한다. CompGenX은 컴포넌트 코드 생성 시에 컴포넌트의 재구성성을 지원함으로써 재사용자가 컴포넌트 재사용 시 자신의 목적에 맞는 컴포넌트의 소스 코드를 자동으로 생성할 수 있게 해 준다. 이를 위한 컴포넌트 개발 과정은 크게 컴포넌트 패밀리 구축 과정과 컴포넌트 재사용 과정으로 나누어진다. CompGenX는 컴포넌트 패밀리 구축 과정을 위하여, 도메인 분석을 위한 특성 모델 작성 도구, 도메인 설계를 위한 도메인 아키텍처 정의 도구를 제공한다. 또한 코드 자동 생성에 필요한 구성 지식 명세서와 코드 템플릿 작성 도구를 제공한다. 컴포넌트 재사용 과정을 위해서 CompGenX는, 컴포넌트 패밀리 검색 도구, 컴포넌트 커스터마이징 도구 및 컴포넌트 코드 생성기 등을 제공한다. 본 논문의 컴포넌트 코드 자동 생성 기법과 생성 시스템은 컴포넌트 기반 소프트웨어 생산 라인 구축을 위한 기반 기술로서 적용될 수 있다.

  • PDF