• 제목/요약/키워드: source code

검색결과 1,250건 처리시간 0.022초

비주얼 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의 성능과 유효성을 평가하였다. 원본 소스 코드와 비교하여 실험한 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

DirectShow 프로그래밍을 위한 C 소스 코드 자동 생성 기법 (Automatic C Source Code Generation Technique for DirectShow Programming)

  • 동지연;박선화;엄성용
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제10권1호
    • /
    • pp.114-124
    • /
    • 2004
  • 본 논문에서는 DirectShow 프로그래밍의 주요 개발 도구인 그래프 에디터에서 작성된 필터 연결 그래프로부터 C 소스 코드를 자동 생성하는 시스템에 대한 설명한다. 기존의 DirectShow 프로그래밍 환경에서는 그래프 에디터를 이용한 프로그램 설계 및 실행 확인 작업과 실제 프로그램 코드를 작성하는 프로그램 개발 작업이 별도로 이루어진다. 이에 반해, 본 시스템을 사용할 경우, 멀티미디어 응용 프로그램 개발자는 소스 코드를 직접 일일이 수정할 필요 없이, 그래프 에디터를 이용하여 필터 삽입 및 필터 연결을 통한 프로그램 설계 작업을 수행한 다음, GRF 파일로 저장하기만 하면, 원하는 C 소스 프로그램을 자동적으로 얻을 수 있기 때문에 보다 효과적이고 훨씬 신속한 DirectShow 프로그래밍이 가능하다. 더욱이 본 시스템은, 고정된 개수의 매우 제한된 미디어 제어 기능만을 소스 코드에 추가할 수 있는 기존의 시스템과는 달리, 시스템 사용자인 프로그램 개발자로 하여금 자신이 개발하고자 하는 응용 프로그램에 추가할 미디어 제어 기능을 보다 쉽고 다양하게 선택할 수 있도록 지원하기 때문에 보다 실용적인 도구로 활용될 수 있다.

PA스피커 시설물 부착형 LED패치의 음원감성 연계형 컬러코드 제어에 관한 연구 (A Study on Color Code Control Connected with Sound Source and Sensitivity of PA Speaker facility attachable LED Patch)

  • 김영민;신재권;차재상
    • 한국위성정보통신학회논문지
    • /
    • 제10권3호
    • /
    • pp.22-25
    • /
    • 2015
  • 본 논문에서는 PA스피커 시설물 부착형 LED패치의 음원감성 연계형 컬러코드 제어 기술에 관한 연구를 진행하였다. PA스피커 음원에 따라 LED패치의 컬러코드를 제어할 수 있는 기술을 제시하였으며, 이를 위한 PA스피커 시설물 부착형 LED 패치를 개발하였다. PA스피커 시설물 부착형 LED패치의 컬러코드 제어 기술은 PA스피커로부터 음원 감지 유무를 확인하고, 음원이 감지된 경우 아날로그 신호(음원)을 디지털 신호로 변환하여 메인컨트롤러에 전달하여 LED패치의 컬러코드 색상 및 패턴을 제어할 수 있도록 구현하였다. 본 논문에서는 PA스피커 시설물 부착형 LED패치의 음원감성 연계형 컬러코드 제어 시스템을 구축하고, 이를 통하여 PA스피커의 음원에 따라 효과적으로 컬러코드를 제어할 수 있는 PA스피커 시설물 부착형 LED패치 컬러코드 제어 실험을 진행하였으며, LED패치의 컬러코드 제어 유무를 통한 제안기술의 유용성을 보였다. PA스피커 시설물 부착형 LED패치의 음원감성과 연계된 컬러코드 제어 기술은 향후 다양한 분야에 연구 방향을 제시하고, 응용사례로 널리 활용될 수 있을 것으로 예상된다.

소스 코드 품질 향상을 위한 리팩토링 기법 및 도구 분석 (Analysis of Refactoring Techniques and Tools for Source Code Quality Improvement)

  • 김두환;정유진;홍장의
    • 중소기업융합학회논문지
    • /
    • 제6권4호
    • /
    • pp.137-150
    • /
    • 2016
  • IT 기술 및 비즈니스의 급속한 발전에 따라 새로운 서비스를 고객에게 제공하기 위한 노력이 증가하고 있으며, 신속한 서비스 제공을 위해 기존의 레거시 시스템에 대한 개선 및 확장이 빈번히 발생하고 있다. 이로 인하여 기존 레거시 시스템에 대한 소스 코드의 품질 확보는 서비스 요구에 신속히 대응할 수 있는 핵심적인 기술 요소가 되었다. 리팩토링은 기존 레거시 코드에 대한 품질을 확보하기 위한 공학적 기술로서, 부가가치를 제공하는 레거시 시스템의 개선 및 확장에 필수적이다. 본 논문에서는 레거시 시스템의 소스 코드 품질 향상을 위한 기존의 리팩토링 기법과 지원 도구에 대한 조사 분석을 통해 리팩토링 기법과 도구에 대한 특성을 제안한다. 제안하는 특성을 기반으로 서비스 개발자가 레거시 시스템의 소스 코드 품질 향상을 위하여 리팩토링을 수행하고자 하는 경우, 어떠한 기법과 도구를 활용할 것인가에 대한 가이드라인을 제공받을 수 있다. 이를 통해 보다 정확하고 시행착오 없는 레거시 시스템의 소스 코드 품질을 향상시킬 수 있으며, 새로운 서비스에 대한 신속한 대응도 가능하게 될 것이다.

code2vec 모델을 활용한 소스 코드 보안 취약점 탐지 (Detection of Source Code Security Vulnerabilities Using code2vec Model)

  • 양준혁;모지환;홍성문;도경구
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제16권2호
    • /
    • pp.45-52
    • /
    • 2020
  • 소스 코드의 보안 취약점을 탐지하는 전통적인 방법은 많은 시간과 노력을 필요로 한다. 만약 보안 취약점 유형들에 대한 좋은 품질의 데이터가 있다면, 이와 머신러닝 기술을 활용해 효과적으로 문제를 해결할 수 있을 것이다. 이에 본 논문은 정적 프로그램 분석에 머신러닝 기술을 활용하여 소스 코드에서 보안 취약점을 탐지하는 방법을 제시하고, 실험을 통하여 가능성을 보인다. 메소드 단위의 코드 조각의 의미를 해석하여 메소드의 이름을 예측하는 code2vec 모델을 사용하고, 모델을 생성하고 검증 및 평가를 하기 위한 데이터로 흔히 발생할 수 있는 보안 취약점을 모아놓은 Juliet Test Suite를 사용하였다. 모델 평가 결과 약 97.3%의 정밀도와 약 98.6%의 재현율로 매우 희망적인 결과를 확인하였고 오픈 소스 프로젝트의 취약점을 탐지함으로써 가능성을 보였다. 향후 연구를 통해 다른 취약점 유형과 다양한 언어로 작성된 소스 코드에 대해서 대응함으로써 기존의 분석 도구들을 대체할 수 있을 것이다.

A spent nuclear fuel source term calculation code BESNA with a new modified predictor-corrector scheme

  • Duy Long Ta ;Ser Gi Hong ;Dae Sik Yook
    • Nuclear Engineering and Technology
    • /
    • 제54권12호
    • /
    • pp.4722-4730
    • /
    • 2022
  • This paper introduces a new point depletion-based source term calculation code named BESNA (Bateman Equation Solver for Nuclear Applications), which is aimed to estimate nuclide inventories and source terms from spent nuclear fuels. The BESNA code employs a new modified CE/CM (Constant Extrapolation - Constant Midpoint) predictor-corrector scheme in depletion calculations for improving computational efficiency. In this modified CE/CM scheme, the decay components leading to the large norm of the depletion matrix are excluded in the corrector, and hence the corrector calculation involves only the reaction components, which can be efficiently solved with the Talyor Expansion Method (TEM). The numerical test shows that the new scheme substantially reduces computing time without loss of accuracy in comparison with the conventional scheme using CRAM (Chebyshev Rational Approximation Method), especially when the substep calculations are applied. The depletion calculation and source term estimation capability of BESNA are verified and validated through several problems, where results from BESNA are compared with those calculated by other codes as well as measured data. The analysis results show the computational efficiency of the new modified scheme and the reliability of BESNA in both isotopic predictions and source term estimations.

Acceleration method of fission source convergence based on RMC code

  • Pan, Qingquan;Wang, Kan
    • Nuclear Engineering and Technology
    • /
    • 제52권7호
    • /
    • pp.1347-1354
    • /
    • 2020
  • To improve the efficiency of MC criticality calculation, an acceleration method of fission source convergence which gives an improved initial fission source is proposed. In this method, the MC global homogenization is carried out to obtain the macroscopic cross section of each material mesh, and then the nonlinear iterative solution of the SP3 equations is used to determine the fission source distribution. The calculated fission source is very close to the real fission source, which describes its space and energy distribution. This method is an automatic computation process and is tested by the C5G7 benchmark, the results show that this acceleration method is helpful to reduce the inactive cycles and overall running time.

Software Similarity Measurement based on Dependency Graph using Harmony Search

  • Yun, Ho Yeong;Joe, Yong Joon;Jung, Byung Ok;Shin, Dong myung;Bahng, Hyo Keun
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권12호
    • /
    • pp.1-10
    • /
    • 2016
  • In this paper, we attempt to prevent certain cases by tracing a history and making genogram about open source software and its modification using similarity of source code. There are many areas which use open source software actively and widely, and open source software contributes their development. However, there are many unconscious cases like ignoring license or intellectual properties infringe which can lead litigation. To prevent such situation, we analyze source code similarity using program dependence graph which resembles subgraph isomorphism problem, a typical NP-complete problem. To solve subgraph isomorphism problem, we utilized harmony search of metaheuristic algorithm and compared its result with a genetic algorithm. For the future works, we represent open source software as program dependence graph and analyze their similarity.

소프트웨어 품질향상을 위한 소스코드 기반의 테스트 케이스 자동 생성에 관한 연구 (A Study on the Automatic Generation of Test Case Based on Source Code for Quality Improvement)

  • 손웅진;이승호
    • 전기전자학회논문지
    • /
    • 제19권2호
    • /
    • pp.186-192
    • /
    • 2015
  • 본 논문에서는 소프트웨어 개발 과정에서 소프트웨어의 품질향상에 필요한 소스코드의 API를 기반으로 테스트 케이스를 자동으로 생성할 수 있는 기법을 제안한다. 제안된 기법은 Doxygen 오픈소스 툴을 이용한 소스코드 분석 과정, 분석된 결과를 이용한 API 사양 정의 과정, 테스트 디자인 생성 과정, Pairwise Test 기법을 적용한 테스트 케이스 생성 과정 등의 4가지 과정으로 구성된다. Doxygen 오픈소스 툴을 이용한 소스코드 분석 과정은 소스코드의 API 정보인 API 명, 입력 파라미터, 리턴 파라미터 정보 등을 추출하는 단계이다. 분석된 결과를 이용한 API 사양 정의 과정은 추출한 API 정보를 바탕으로 SQLite 데이터베이스를 이용하여 테스트 케이스 생성에 필요한 API 정보들을 데이터베이스화하여 정의하는 단계이다. 테스트 디자인 생성 과정은 정의된 API를 기반으로 입력 파라미터, 리턴 파라미터의 임계치 설정, 제약사항 설정 등을 통해 시나리오를 디자인하여 데이터베이스로 구성하는 단계이다. Pairwise Test 기법을 적용한 테스트 케이스 생성 과정은 테스트 디자인 정보를 바탕으로 Pairwise 조합 기법을 적용하여 실제 테스트 케이스를 생성하여 데이터베이스로 구성하는 단계이다. 제안된 기법의 효율성을 평가하기 위하여 기존의 명세서 기반의 테스트 케이스 생성 방법과 비교한 결과 비슷한 시간 내에 훨씬 더 많은 테스트 케이스가 생성되며, 명세 기반 기법으로는 불가능한 소스코드에 대한 기능 검증도 가능하여 소스코드내 결함 위치도 확인할 수 있다. 따라서 사람의 인력을 통한 수작업에 의존적으로 진행하였던 소프트웨어 개발 품질 향상 과정을 소스코드의 API를 기반으로 자동으로 테스트 케이스를 생성함으로써, 노동력 절감 및 제품 개발 시간 등을 단축 할 수 있으리라 기대된다.

Node.js 기반의 온라인 소스코드 저장소(Code Box) (Node.js-based Online Source Code Storege(Code Box))

  • 허태성;목기윤;이지훈
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2019년도 제60차 하계학술대회논문집 27권2호
    • /
    • pp.225-226
    • /
    • 2019
  • Code box 시스템은 프론트엔트 개발자를 위한 온라인 소스코드 저장소로 HTML. CSS, JavaScript를 작성하고 그 결과를 즉시 확인할 수 있으며, 소스코드의 버전관리 기능을 추가하여 소스코드의 변경에 따른 소스코드 관리 능력을 향상하도록 하였으며, 소스코드 작성 시 편의성을 향상시키기 위하여 코드 작성란에 문법자동완성과 Syntax Highlighting기능을 추가하였다. 또한 작성한 소스코드를 사용자들이 공유할 수 있으며 소스코드 작성 중 질문 사항이 발생하면 작성된 소스코드를 옮겨 실시간 질의 사항을 공유하도록 하였다.

  • PDF