• 제목/요약/키워드: native-code

검색결과 42건 처리시간 0.021초

JIT Code Generator 상의 스택할당 정책 적용에 관한 연구 (A study of the stack allocation policy on JIT Code Generator)

  • 김효남
    • 한국컴퓨터정보학회논문지
    • /
    • 제6권4호
    • /
    • pp.100-103
    • /
    • 2001
  • 자바프로그램의 실행속도를 빠르게 하는데 있어서 가장 좋은 방법은 빠른 자바가상머신(JVM : Java Virtual Machine)을 사용하는 것이다. 자바가상머신의 성능은 구현 차이에 따라 성능차이가 많이 난다. 자바가상머신을 구현하는데 있어서 가장 중요한 성능 향상의 기술은 JIT(Just-in-Time) 코드 생성기(Code Generator)이다. JIT 코드 생성기는 자바 바이트 코드를 플랫폼에 맞는 native machine code로 변환해 준다. 이 native code들은 자바가상머신에서 각 바이트 코드를 분석하는데 걸리는 시간을 단축할 수 있기 때문에 기존의 방식보다 빠르게 동작한다. 그러나 JIT 코드 생성기는 많은 레지스터를 사용하기 때문에 스택과 레지스터간의 traffic이 가중되는 문제가 있다. 그러므로 본 논문에서는 자바가상머신의 성능 향상을 위한 방안으로 효율적인 stack allocation 정책을 JIT 코드 생성기에 적용하여 레지스터와의 traffic을 감소시킬 수 있는 방안을 제시하였다.

  • PDF

Native API 의 효과적인 전처리 방법을 이용한 악성 코드 탐지 방법에 관한 연구 (Malicious Code Detection using the Effective Preprocessing Method Based on Native API)

  • 배성재;조재익;손태식;문종섭
    • 정보보호학회논문지
    • /
    • 제22권4호
    • /
    • pp.785-796
    • /
    • 2012
  • 본 논문에서는 악성코드의 시스템 콜 빈도수를 특징값으로 행위 기반 탐지(behavior-based detection)를 할 때, 시스템 콜의 속성 개수보다 학습데이터 개수가 적더라도 효과적으로 악성 코드를 탐지하는 기법을 제안한다. 이 연구에서는, 프로그램 코드가 동작할 때, 발생시키는 윈도우 커널 데이터인 Native API를 수집하여 빈도수로 정규화한 것을 기본적인 속성 값으로 사용하였다. 또한 악성코드와 정상 코드를 효과적으로 분류할 수 있으면서, 악성코드를 분류하기 위한 기본적인 속성의 개수보다 학습데이터 개수가 적어도 적용 가능한 GLDA(Generalized Linear Discriminant Analysis)를 사용하여, 새로운 속성 값들로 전환하였다. 분류 기법으로는 베이지언 분류법의 일종인 kNN(k-Nearest Neighbor) 분류법을 이용하여 악성 코드를 탐지하였다. 제안된 탐지 기법의 성능을 검증하기 위하여 수집된 Native API 로 기존의 연구 방법과 비교 검증하였다. 본 논문에 제안된 기법이 탐지율(detection rate) 100%인 Threshold 값에서, 다른 탐지 기법보다 낮은 오탐율(false positive rate)을 나타내었다.

자바와 C/C++의 혼합 프로그래밍 (Java and C/C++ Mixed Programming)

  • 김상훈
    • 한국멀티미디어학회논문지
    • /
    • 제13권10호
    • /
    • pp.1514-1524
    • /
    • 2010
  • 표준 자바 클래스 라이브러리는 용용 프로그램에 의해 요구되는 플랫폼 의존적인 기능을 수행하지 못한다. 따라서 플랫폼 의존적인 기능을 포함한 자바 응용 프로그램은 JNI를 사용한 네이티브 함수를 호출하여 부족한 기능을 수행하여야 한다. 네이티브 언어 프로그래머는 다양한 자바 객체와 연결하고 사용 후 이를 해지해야하는 작업을 명시적으로 기술해야 한다. 이러한 번거로운 작업을 피하기 위한 방법을 본 논문에서 제안하고자 한다. 순수 자바 클래스에서 네이티브 메소드는 코드 블록을 가질 수 없다. 자바 네이티브 메소드가 네이티브 코드로 작성된 몸채를 가질 수 있도록 함으로써 프로그래머는 JNI를 의식하지 않고 프로그래밍하는 것이 가능하다. 이를 위해 네이티브 환경의 자바 클래스인 네이티브 클래스라는 개념, 그리고 자바 클래스와 네이티브 클래스 간에 제어와 자료의 교환을 지원하는 중재기를 두어 해결하였다.

DEX와 ELF 바이너리 역공학 기반 안드로이드 어플리케이션 호출 관계 분석에 대한 연구 (Android Application Call Relationship Analysis Based on DEX and ELF Binary Reverse Engineering)

  • 안진웅;박정수;응웬부렁;정수환
    • 정보보호학회논문지
    • /
    • 제29권1호
    • /
    • pp.45-55
    • /
    • 2019
  • DEX 파일과, SO 파일로 알려진 공유 라이브러리 파일은 안드로이드 어플리케이션의 행위를 결정짓는 중요한 구성요소이다. DEX 파일은 Java 코드로 구현된 실행파일이며, SO 파일은 ELF 파일 형식을 따르며 C/C++와 같은 네이티브 코드로 구현된다. Java 영역과 네이티브 코드 영역은 런타임에 상호작용할 수 있다. 오늘날 안드로이드 악성코드는 지속적으로 증가하고 있으며, 악성코드로 탐지되는 것을 회피하기 위한 다양한 우회 기법을 적용한다. 악성코드 분석을 회피하기 위하여 분석이 어려운 네이티브 코드에서 악성 행위를 수행하는 어플리케이션 또한 존재한다. 기존 연구는 Java 코드와 네이티브 코드를 모두 포함하는 함수 호출 관계를 표시하지 못하거나, 여러 개의 DEX을 포함하는 어플리케이션을 분석하지 못하는 문제점을 지닌다. 본 논문에서는 안드로이드 어플리케이션의 DEX 파일과 SO 파일을 분석하여 Java 코드 및 네이티브 코드에서 호출 관계를 추출하는 시스템을 설계 및 구현한다.

Design and Implementation of a Low-Code/No-Code System

  • Hyun, Chang Young
    • International journal of advanced smart convergence
    • /
    • 제8권4호
    • /
    • pp.188-193
    • /
    • 2019
  • This paper is about environment-based low-code and no-code execution platform and execution method that combines hybrid and native apps. In detail, this paper describes the Low-Code/No-Code execution structure that combines the advantages of hybrid and native apps. It supports the iPhone and Android phones simultaneously, supports various templates, and avoids developer-oriented development methods based on the production process of coding-free apps and the produced apps play the role of Java virtual machine (VM). The Low-Code /No-Code (LCNC) development platform is a visual integrated development environment that allows non-technical developers to drag and drop application components to develop mobile or web applications. It provides the functions to manage dependencies that are packaged into small modules such as widgets and dynamically loads when needed, to apply model-view-controller (MVC) pattern, and to handle document object model (DOM). In the Low-Code/No-Code system, the widget calls the AppOS API provided by the UCMS platform to deliver the necessary requests to AppOS. The AppOS API provides authentication/authorization, online to offline (O2O), commerce, messaging, social publishing, and vision. It includes providing the functionality of vision.

바이트코드로부터 네이티브 코드 생성을 위한 중간 코드 변환기의 설계 및 구현 (Design and Implementation of Intermediate Code Translator for Native Code Generation from Bytecode)

  • 고광만
    • 한국멀티미디어학회논문지
    • /
    • 제5권3호
    • /
    • pp.342-350
    • /
    • 2002
  • 자바 프로그래밍 언어는 웹 브라우저에서 실행되는 작은 크기의 응용 프로그램 수행에서는 실행 속도 문제가 중요한 요소가 아니지만 대형 프로그램의 수행에서는 실행 속도가 현저히 저하되는 단점을 지니고 있다. 이러한 문제점을 해결하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에서 수행될 수 있는 목적기계 코드로 변환하는 다양한 연구가 진행중이다. 본 연구에서도 자바 응용 프로그램의 실행 속도의 개선을 위해 바이트코드로부터 직접 i386코드를 생성하는 네이티브 코드 생성 시스템을 위한 중간 코드 변환기를 설계하고 구현한다. 중간 코드 변환기는 자바 언어 의 중간 코드인 *.class 파일을 입력으로 받아 레지스터 기반의 중간 코드로 변환한다.

  • PDF

패턴 매칭 기법을 이용한 자바 바이트코드 변환기의 설계 및 구현 (Design and Implementation of Java Bytecode Translator usin Pattern Matching Technique)

  • 고광만
    • 전자공학회논문지CI
    • /
    • 제39권4호
    • /
    • pp.1-9
    • /
    • 2002
  • 자바 언어의 실행 속도를 개선하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에서 수행될 수 있는 목적기계 코드로 변환하는 다양한 연구가 진행중이다. 패턴 매칭 이용한 코드 생성 기법은 코드 확장 기법에 비해 양질의 코드를 생성할 수 있는 장점을 가지고 있다. 본 연구에서는 바이트코드로부터 효과적으로 네이티브 코드를 생성하기 위해 레지스터 기반의 중간 언어를 효율적으로 생성할 수 있는 정형화된 패턴 기술 방법과 패턴 매칭 기법에 대해 제시한다. 또한 기술된 정형화 패턴을 활용하여 양질의 레지스터 기반 중간 코드를 생성하는 중간 코드 변환기를 설계하고 구현하였다.

자바 네이티브 메소드 생성 시스템 (Java Native Method Generating System)

  • 김도영;김상훈
    • 정보학연구
    • /
    • 제3권2호
    • /
    • pp.13-21
    • /
    • 2000
  • 자바 네이티브 메소드는 시간 소모적인 작업의 효율적 실행, 플랫폼 종속적인 작업의 수행, 라이브러리의 재사용 등을 위해 제안되었다. 실행 속도 향상을 위해 네이티브 메소드를 사용한다면, 네이티브 메소드 구현에 자바 언어가 아닌 컴파일 방식의 다른 언어를 사용해야한다. 또한 자바 네이티브 인터페이스의 개념을 습득해야한다. 이러한 부담을 경감시키기 위해 렬 논문에서는 자바 메소드를 네이티브 메소드로 자동 변환하여 주는 자바 네이티브 메소드 생성 시스템을 제안하였다. 또한 본 시스템은 JNI의 개념을 요구하지 않기 때문에 C 언어로 네이티브 메소드를 작성하려는 프로그래머에게 편의를 제공한다.

  • PDF

SystemVerilog와 SystemC 기반의 통합검증환경 설계 및 구현 (Design and Implementation of Co-Verification Environments based-on SystemVerilog & SystemC)

  • 유명근;송기용
    • 융합신호처리학회논문지
    • /
    • 제10권4호
    • /
    • pp.274-279
    • /
    • 2009
  • 시스템수준 설계방법론에서 널리 사용하고 있는 설계흐름도는 시스템명세, 시스템수준의 HW/SW 분할, HW/SW 통합설계, 가상 또는 물리적 프로토타입을 이용한 통합검증, 시스템통합으로 구성된다. 본 논문에서는 SystemVerilog와 SystemC를 기반으로 하여 신속한 기능검증이 가능한 native-code 통합검증환경과 클럭수준 검증까지 가능한 계층화 통합검증환경을 각각 구현하였다. Native-code 통합검증환경은 시스템수준 설계언어인 SystemC를 이용하여 HW/SW 분할단계를 수행한 후, SoC 설계의 HW부분과 SW부분을 각각 SystemVerilog와 SystemC로 모델링하여 상호작용을 하나의 시뮬레이션 프로세스로 검증한다. 계층화된 SystemVerilog 테스트벤치는 임의의 테스트벡터를 생성하여 DUT의 모서리 시험을 포함하는 검증환경으로 본 논문에서는 SystemC를 도입하여 다중 상속을 가지는 통합검증환경의 구성요소를 먼저 설계한 후, SystemVerilog DPI와 ModelSim 매크로를 이용하여 SystemVerilog 테스트벤치와 결합된 통합검증환경을 설계한다. 다중 상속은 여러 기초클래스를 결합한 새로운 클래스를 정의하여 코드의 재사용성을 높이는 장점을 가지므로, 본 논문의 SystemC를 도입한 통합검증환경 설계는 검증된 기존의 코드를 재사용할 수 있는 이점을 가진다.

  • PDF

이중언어환경에서의 언어간 부호전환 수준에 따른 차별적 신경활성화 과정: ERP연구 (Differential Effect for Neural Activation Processes according to the Proficiency Level of Code Switching: An ERP Study)

  • 김충명
    • 말소리와 음성과학
    • /
    • 제2권4호
    • /
    • pp.3-10
    • /
    • 2010
  • The present study aims to investigate neural activations according to the level of code switching in English proficient bilinguals and to find the relationship between the performance of language switching and proficiency level using ERPs (event-related potentials). First, when comparing high-proficient (HP) with low-proficient (LP) bilingual performance in a native language environment, the activation level of N2 was observed to be higher in the HP group than in the LP group, but only under two conditions: 1) the language switching (between-language) condition known as indexing attention of code switching and 2) the inhibition of current language for L1. Another effect of N400 can be shown in both groups only in the language non-switching (within-language) condition. This effect suggests that both groups completed the semantic acceptability task well in their native language environment without the burden of language switching, irrespective of high or low performance. The latencies of N400 are only about 100ms earlier in the HP group than in the LP group. This difference can be interpreted as facilitation of the given task. These results suggest that HP showed the differential activation in inhibitory system for L1 in switching condition of L1-to-L2 to be contrary to inactivation of inhibitory system for the LP group. Despite the absence of an N400 effect at the given task in both groups, differential latencies between the peaks were attributed to the differences of efficiency in semantic processing.

  • PDF