• 제목/요약/키워드: 프로그램 실행

검색결과 1,959건 처리시간 0.037초

안드로이드 프로그램 정적 분석 고찰 (A Static Analysis of Android Programs)

  • 이호석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(C)
    • /
    • pp.227-229
    • /
    • 2012
  • 본 논문은 Android 프로그램의 정적 분석 방법을 논의한다. Android 프로그램 정적 분석의 목적은 오류발견, 개인정보 해킹 코드 발견, 바이러스 발견, 프로그램 분류 등등이다. 본 논문에서는 Android 프로그램의 분석을 위하여 구문 패턴 정적 분석과 프로그램으로부터 객체 다이아그람과 Flowchart 를 생성하여 프로그램 동적 실행을 추정하여 분석하는 통합된 정적 분석 방법을 논의한다. 프로그램 실행 추정 분석은 프로그램에서 객체 생성, 메소드 호출, 데이터 흐름, 실행 흐름, API 호출과 진행 과정 등을 추정하여, 구문 패턴 정적 분석만으로는 파악하지 못하는 프로그램 실행의 동적 분석이 가능하도록 한다.

병렬 프로그램의 적응형 실행 기법 (Adaptive Execution Techniques for Parallel Programs)

  • 이재진
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제31권8호
    • /
    • pp.421-431
    • /
    • 2004
  • 본 논문은 병렬 프로그램을 실행할 때 계산량이 작은 병렬 루프를 병렬로 실행하는 경우에 생기는 프로그램의 성능 저하를 피하기 위하여, 컴파일 시나 실행 시에 성능 예측 모델을 이용하여 병렬 루프의 성능을 예측한 다음 적응형 실행 기법을 이용하여 병렬 프로그램을 실행하는 방법을 소개한다. 성능예측 알고리즘과 적응형 실행 알고리즘은 컴파일러 전처리기에 구현이 되었으며, 이 전처리기는 병렬 루프가 실행되는 방식을 컴파일 시나 실행 시에 결정하는 코드를 원래의 병렬 프로그램에 삽입한다. Fortran77로 씌어진 다섯 개의 대표적인 과학 수치계산 병렬 벤치마크 프로그램을 32개의 프로세서로 구성된 분산 공유 메모리 병렬 컴퓨터(SGI Origin2000)에 실행하여 본 논문에서 제안한 방법의 성능 평가를 하였을 때, 제안한 기법을 적응한 경우가 32, 16, 8, 및 4개의 프로세서에서 원래의 병렬 프로그램 보다 각각 26%, 20%, 16%, 및 10% 빨리 실행되었다. 이중 한 프로그램은 원래 병렬 프로그램 보다 32개 프로세서에서 두 배 이상 빠르게 실행되었다.

다단계 프로그램을 위한 타입 기반의 실행흐름 분석 (Type based Control Flow Analysis of Multi-Staged Program)

  • 진민식;이광근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (C)
    • /
    • pp.516-520
    • /
    • 2007
  • 이 논문에서는 다단계 프로그램의 실행흐름을 타입을 기반으로 분석하는 방법을 제시하고 있다. 다단계 프로그램이란 실행 중 코드를 만들고 실행할 수 있는 언어를 말한다. 본 논문에서는 기존의 고차 함수형 언어의 실행흐름을 분석하는 방법을 다단계 언어를 위해서 확장한 방법을 제시하고 있다. 이 분석은 한 수식이 평가될 때 호출될 수 있는 함수들의 집합을 정적으로 분석하여 다단계 프로그램의 실행흐름 정보를 제공한다.

  • PDF

자바 언어를 위한 중간 언어 번역기 (Intermediate Language Translator for Jave Language)

  • 정지훈;박진기;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.537-540
    • /
    • 2003
  • 자바와 .NET 언어는 프로그래머들이 프로그램을 개발하는데 가장 널리 사용되고 있는 언어이다. 프로그래머가 작성한 자바 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성한 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 그러므로 자바 프로그래머는 .NET 플랫폼 환경에 맞추어 프로그래밍하지 못하고, .NET 프로그래머는 JVM 플랫폼 환경에 맞추어 프로그래밍하지 못하는 단점이 있다. 본 논문에서 연구한 Bytecode-to-MSIL 번역기는 위의 단점을 해결한 것이다. 먼저 자바로 작성된 프로그램을 컴파일하여 생성된 클래스 파일(*.class)로부터 Oolong 역어셈블러를 이용하여 Oolong 코드를 추출한다. 추출된 Oolong 코드를 본 논문에서 연구한 Bytecode-to-MSIL 번역기로 .NET의 중간언어인 MSIL 코드로 변환하여 .NET 어셈블러로 실행파일을 만들어 자바 언어로 구현된 프로그램이 .NET 환경에서도 실행될 수 있도록 한다. 따라서, 자바 프로그래머나 .NET 프로그래머는 JVM 이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다.

  • PDF

윈도우 환경에서 사용자 프로그램 실행 권한 제어 기능 설계 (Design of the Function for User Program Execution Control in the Windows Environments)

  • 장승주
    • 한국정보통신학회논문지
    • /
    • 제20권8호
    • /
    • pp.1553-1560
    • /
    • 2016
  • 본 논문은 윈도우 시스템 환경에서 구동되는 프로그램에 대한 실행 권한을 통제할 수 있도록하는 제어 프로그램을 설계한다. 윈도우 프로그램의 정형화된 구조 정보를 이용하여 실행 프로그램의 특정 위치 정보를 임의의 비트 값으로 변환을 하여 일반 사용자는 실행을 할 수 없도록 한다. 이렇게 변환된 비트 값은 허가된 사용자의 경우 원래의 비트 값으로 되돌릴 수 있도록 함으로써 프로그램이 정상적으로 수행이 될 수 있다. 이렇게 함으로써 윈도우 실행 프로그램에 대한 역공학의 위험 등에 보다 안전하게 사용할 수 있도록 한다. 본 논문에서 제안하는 프로그램 실행 권한 제어 프로그램에 대해서 설계하고 실험을 수행하였다. 실험을 수행한 결과 윈도우 환경에서 사용자 프로그램에 대한 실행 권한 제어 기능이 정상적으로 동작됨을 확인할 수 있었다.

실행시 구조분석을 통한 악성코드 탐지기법 분석 (The analysis of malicious code detection techniques through structure analysis at runtime)

  • 오형근;김은영;이철호
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2004년도 춘계학술발표대회논문집
    • /
    • pp.117-120
    • /
    • 2004
  • 본 고에서는 악성 프로그램을 탐지하기 위해 특정 프로그램 실행시 해당 파일 구조를 분석하여 악성 프로그램을 탐지하기 위해 Michael Weber, Matthew Schmid, Michaei Schatz와 David Geyer에 의해 제안된 실행코드 탐지 방식을 분석하고 있다. 제안된 방식에서는 기존 방법에서 사용하고 있는 악성 프로그램의 시그니처 분석을 통한 탐지 방법과 다르게 윈도우 PE 파일 형태의 파일 구조를 가지고 있는 실행 프로그램의 문맥 분석을 통해 알려지지 않은 악성 프로그램을 탐지함을 목적으로 하고 있다. 제안된 방식에서는 특히 PEAT(Portable Executable Analysis Toolkit)라는 이동 실행 분석 툴 킷을 개발, 사용함으로써 악성프로그램을 탐지 하고 있는데 이 툴 킷은 PE 파일 구조를 가진 임의의 애플리케이션에 대해 악성코드의 존재 여부를 밝힐 수 있는 실행시 구조적 특징을 이용한다.

  • PDF

정적으로 2단계 언어의 불필요한 식 찾기 (Static Useless-Code-Detection for Two-Stage Language)

  • 조성근;이광근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(C)
    • /
    • pp.478-481
    • /
    • 2011
  • 이 논문에서는 정적으로 2단계 언어의 불필요한 식을 찾는 분석 방법을 제안한다. 불필요한 식이란 식의 실행의미가 프로그램의 결과에 영향을 미치지 않는 식을 말한다. 다단계 프로그램이 불필요한 식을 만들어내는 지 프로그램 실행전에 알 수 있다면 프로그램 실행에 드는 비용을 줄일 수 있다. 이 분석은 다형타입을 가지는 다단계 언어의 타입시스템과 타입시스템에 올라탄 분석에 기반하고 있다. 이 분석으로 프로그램 실행 시 불필요한 식이 프로그램 코드 형태로 전파되는 것을 알 수 있으며 다형타입을 이용한 정교한 분석이 가능하다.

프로그램 변환을 통환 J2ME 프로그램의 동적 이벤트 분석 (Dynamic Event Analysis of J2ME Programs by Program Transformation)

  • 최윤정;창병모
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (B)
    • /
    • pp.874-876
    • /
    • 2004
  • J2ME 모바일 프로그램은 모바일 기기가 보편화되면서 그 사용이 증가하고 있다. J2ME 프로그램은 자원이 제한된 모바일 환경에서 실행되므로 자원의 효율적인 사용이 매우 중요하다. J2ME 프로그램은 대부분 이벤트-구동 프로그램이여 효과적인 이벤트 관리가 자원 최적화에 않은 영향을 미치며 이벤트 관련 디버깅은 매우 어려운 부분이다. 본 연구에서는 실행 중에 실시간으로 이벤트 발생 및 처리 정보를 보여줄 수 있는 시스템을 설계 개발하였다. 이 시스템은 사용자 옵션에 따라 사용자가 관심 있는 이벤트만을 실행 중에 추적하거나 실행 후에 이벤트 관련 프로파일 정보를 제공한다.

  • PDF

MPI 병렬 프로그램의 순환 디버깅을 위한 인과관계 재실행 (Causal Replay for Cyclic Debugging of MPI Parallel Programs)

  • 홍철의;김영준
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제28권9호
    • /
    • pp.424-433
    • /
    • 2001
  • 메세지 전달 병렬 프로그램은 프로세스 사이의 메세지 경합에 의하여 실행의 비결정성이 발생하여 순차 프로그램에서 널리 사용되는 순환 디버깅 기법을 사용하기 어렵다. 본 논무은 MPI 병렬 프로그램에서 비결정적 실행에 영향을 미치는 메세지 전달 사건을 정의한 후, 기본실행에서의 사건의 발생순서가 다음의 재실행시 똑 같이 유지되도록 병행실행을 순차생행으로 변환하여 결정적 재실행을 보장함으로써 실행시 마다 같은 오류가 재현되도록 한다. 또한 MPI 병렬 프로그램의 디버깅을 보다 쉽게 하기 위하여 임의의 프로세스를 정짓켰을 때, 다른 모든 프로세스는 정지점 이전에 발생한 모든 사건을 반영하는 최초의 상태에 정지하게 하는 인과관계 정지점을 구현한다. 따라서 인과관계 재실행 기법을 이용하여 병렬 프로그램에서도 순차 프로그램 환경에서와 같이 순환 디버깅 기법을 사용할 수 있게 한다.

  • PDF

소프트웨어 온디맨드 스트리밍 시스템 설계 및 구현 (Design and Implementation of Software On-Demand Streaming System)

  • 김영만;허성진;최완;박홍재
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (1)
    • /
    • pp.538-540
    • /
    • 2005
  • 소프트웨어 스트리밍 [1][2]은 프로그램 설치 및 실행을 위하여 서버로부터 데이터 전송이 진행중인 동안에도 PC, PDA, 휴대용 개인 컴퓨터, 휴대 전화 등과 같은 데스크 탑 또는 이동 연산장치 상에서 미설치 소프트웨어의 실행이 즉각적으로 이루어지도록 하는 기능이다. 즉, 소프트웨어 스트리밍 기술을 사용하면 사용자가 다운로드, 압축해제, 인스톨과 시스템 재구성이라는 일련의 과정이 완료될 때까지 기다릴 필요 없이 최소한의 다운로드 후에 해당 소프트웨어가 곧바로 실행될 수 있도록 해준다. 응용프로그램을 실행하는데 필요한 첫번째 실행 블록이 메모리에 적재되고 기본적인 환경설정을 마치자마자 나머지 블록들이 다운로드되고 설치되기도 전에 실행될 수 있기 때문에 스트리밍 시스템은 응용 프로그램의 실행준비 시간을 대폭 줄일 수 있게 해준다. 게다가, 응용프로그램 실행시 실제로 사용되지 않는 대부분의 블록들은 서버로부터 다운로드 받지 않아도 된다. 그 결과. 메모리와 대역폭 같은 리소스의 활용이 절약된다. 이러한 스트리밍 시스템을 사용하면 사용자는 다양한 공개 또는 상업용 응용프로그램을 광범위하게 지원하는 사용자 투명성을 가진 가상 소프트웨어 컴퓨팅 환경을 만들 수 있다. 본 논문에서는 프로그램 등록, 환경 변수 설정 그리고 구성 파일과 관련된 컴포넌트들의 자동 설치 기능들을 제공함으로서 네트워크를 통하여 소프트웨어를 스트리밍하고 실행해주는 Software On-Demand(SOD)스트리밍 시스템을 설계 및 구현한다.

  • PDF