• Title/Summary/Keyword: 컴파일러 개발

Search Result 183, Processing Time 0.026 seconds

A Study on the protection technique of a Applet decompilation in Java Environment (자바 애플릿 보안을 위한 역컴파일 방지 기법에 관한 연구)

  • 손태식;서정택;장준교;김동규
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.626-628
    • /
    • 2000
  • Java는 간결하고 객체 지향적이며 플랫폼 독립적으로 실행 가능한 특성을 지니고 있어, 웹 상에서의 증대된 표현능력과 유연성을 제공해 왔다. 하지만 이렇게 개방적이고 넓은 수용 가능성은 보안에 있어 많은 위협 취약점을 발생시키게 한다. 특히 현재 네트웍을 통해 널리 사용되는 애플릿은 그 자체가 사용자의 시스템에 전송되어 실행되므로, 만일 악의의 사용자가 그 애플릿 파일을, 역 컴파일러를 사용해 소스 코드를 얻어낸다면, 애플릿 서비스를 하는 시스템 및 네트웍에 대한 보안 문제 및 경제적 피해는 물론이고, 애플릿 개발자 및 다른 사용자들에게 있어 많은 문제를 일으킬 수 있다. 따라서 본 논문에서는 현재 자바 애플릿 역컴파일에 의한 보안 취약성 및 문제점을 진단하고, 거기에 대처할 수 있는 대응 기법에 대한 연구를 통해 보다 나은 자바 애플릿 역컴파일 방지 기법을 제시하려고 한다. 본 논문에 제안된 방법은 역컴파일 방지를 위해 클래스 파일에 혼란 코드를 삽입하는 방법으로서, 그 기법 및 사용 방법을 제시하고 역컴파일 방지 도구의 모델을 제안한다. 또한 앞으로의 연구는 여기서 제안된 자바 애플릿 역컴파일 방지 도구 모델의 세부적 구현으로 진행되어야 하겠다.

  • PDF

A Study on the Container for OPC-based OLE Controls (OPC 기반의 OLE 컨트롤들을 위한 컨테이너의 연구)

  • 박성규;심민석;유대승;김종환;이명재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.736-738
    • /
    • 2004
  • 현재 수많은 OPC(OLE Process Control)관련 제품들이 나와 있다. 특히, 클라이언트 제품군 가운데 가장 많이 눈에 띄는 것은 OPC 서버와 통신하여 사용자에게 장비의 정보를 전달하거나 장비를 제어 할 수 있는 OLE(Object Linking and Embedding) 컨트롤(ActiveX 컨트롤)들이다. 하지만. 이러한 OLE 컨트롤을 시스템에 적용하기 위해서는 이를 지원하는 개발 언어와 컴파일러에 대한 프로그래밍적 지식이 필요하다. 이에 본 논문에서는 프로그래밍에 대한 전문적 지식이 없이도 HMI(Human Machine Interface) / SCADA(Supervisory Control and Data Acquisition)와 같은 시스템을 구축할 수 있도록 OLE 컨트롤 컨테이너를 제공함으로써 사용자가 쉽게 디자인할 수 있는 방법을 제시한다. 본 논문에서 제안하고자 하는 OLE 컨트롤 컨테이너는 OLE/COM 기술을 기반으로 하는 OLE 컨트롤을 지원하고 웹으로의 빠른 확장을 위해 설계되었다.

  • PDF

The Development of the User Interface Tool for DSP Silicon Compiler (디지틀 신호처리용 실리콘 컴파일러를 위한 사용자 툴 개발)

  • 이문기;장호랑;김종현;이승호;이광엽
    • Journal of the Korean Institute of Telematics and Electronics A
    • /
    • v.29A no.9
    • /
    • pp.76-84
    • /
    • 1992
  • The DSP silicon compiler consists of language compiler, module generator, placement tool, router, layout generation tools, and simulator. In this paper, The language compiler, the module generator, placement tool, and simulator were developed and provided for the system designer. The language compiler translates the designer's system description language into the intermediate form file. The intermediate form file expresses the interconnections and specifications of the cells in the cell library. The simulator was developed and provided for the behavioral verification of the DSP system. For its implementation, the event-driven technique and the C$^{++}$ task library was used. The module generator was developed for the layout of the verified DSP system, and generates the functional block to be used in the DSP chip. And then the placement tool determines the appropriate positions of the cells in the DSP chip. In this paper, the placement tool was implemented by Min-Cut and Simulated Annealing algorithm. The placement process can be controlled by the several conditions input by the system designer.

  • PDF

A Performance Comparison of Various Virtual Machines (가상 머신간 성능 비교)

  • Kim, Jae-Jin;Jung, Dong-Heon;Kim, Su-Hyun;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06c
    • /
    • pp.560-565
    • /
    • 2010
  • 가상 머신은 중간코드로 컴파일 되어 한 프로그램을 여러 플랫폼에서 수행 가능하게 한다. 이러한 가상 머신에는 이미 널리 알려진 썬 마이크로시스템즈의 자바 가상 머신과 구글의 안드로이드 플랫폼의 달빅 가상 머신 그리고 애플이 지원하는 LLVM 등이 있으며, 파이어폭스의 TraceMonkey, 구글 크롬의 v8, 사파리의 SquirrelFish Extreme 같은 자바스크립트 엔진도 일종의 가상 머신으로 볼 수 있다. 가상 머신은 필연적으로 성능 저하를 동반하게 되는데, 이는 가상 머신의 주요 이슈 중 하나이다. 본 논문에서는 간단한 벤치마크를 통해서 이들 가상 머신간의 성능을 비교하고, 각 가상 머신의 특징을 알아본다. LLVM은 여러 단계에 걸친 컴파일 전략으로 JIT 컴파일을 사용하였을 때 높은 성능을 보이나 JIT 컴파일을 사용하지 않았을 경우는 매우 낮은 성능을 보인다. 달빅 가상 머신은 인터프리터 모드에서 자바 가상 머신 보다 조금 나았으나, 아직 개발된 지 얼마 되지 않아 JIT 컴파일러가 없다는 것이 약점이다. 자바스크립트 엔진들은 동적 언어인 자바스크립트를 지원하는 특성상 최적화를 적용하지 못해 비교적 낮은 성능을 보였다.

  • PDF

A Divide_and _Conquer Algorithm for Drawing General Trees Aesthetically (일반 트리를 미적으로 도시하기 위한 분할-정복 알고리즘)

  • Lee, Yu-Jin;Jeong, Gyun-Rak
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.26 no.1
    • /
    • pp.117-124
    • /
    • 1999
  • 트리는 계층적인 구조를 표현하는 데 편리한 자료 구조로서 그 응용 분야가 정렬, 탐색, 컴파일러, 계층적 데이터베이스 모델, 조직 차트 등 매우 광범위하다. 트리를 시각적으로 도시하는 것은 단순히 노드를 나열하는 것보다 구조적 관계를 표현하는데 효과적이다. 트리를 크기가 제한된 하면세 도시할 경우에는 시각적 측면을 고려하여 가능한 한 최소의 면적에 도시하는 것이 필요하다. Tilford가 제안한 트리 도시 알고리즘은 왼쪽 알고리즘은 왼쪽부터 최소 간격을 유지하면서 노드의 위치를 결정하는 알고리즘의 특성 때문에 두 개의 높이가 큰 서브 트리가 양쪽으로 있을 때, 두 서브 트리 사이의 작은 서브트리들이 오른쪽에 공간이 있음에도 불구하고 왼쪽으로 치우치게 위치되는 단점을 가지고 있다. 본 논문에서는 노드들의 균형을 고려하여 배치하는 분할-정복 알고리즘을 개발하였고 알고리즘의 정확성을 증명하였다.

A Study on the Smart Virtual Machine for the iOS Platform (iOS 플랫폼을 위한 스마트 가상기계에 대한 연구)

  • Kim, ByungEun;Lee, KyungLok;Son, Yunsik;Lee, YangSun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.11a
    • /
    • pp.381-382
    • /
    • 2013
  • 본 논문에서는 iOS 플랫폼을 위한 스마트 가상기계(Smart Virtual Machine)를 설계하고 구현하였다. iOS 플랫폼을 위한 스마트 가상기계는 가상기계 기반의 컴파일러가 C/C++나 Java 언어로 작성된 프로그램과 의미적으로 동등한 중간 코드를 생성하면 이를 입력으로 받아 실행시켜주는 프로그램이다. 스마트 가상기계는 실행 파일인 SEF(Smart Executable Format) 파일을 입력으로 받아 실행하며, SEF 로더와 인터프리터, 내장 라이브러리, 실행 환경으로 구성되어 있다. 스마트 가상기계는 스마트 기기 등에 탑재되어 하드웨어 독립적으로 실행되며 어플리케이션 형태로 실행이 가능하므로 플랫폼에 독립적인 장점을 가진다. 또한, 프로그래머는 개발 언어의 제약 없이 프로그램을 작성할 수 있고, 프로그램을 플랫폼 독립적으로 실행할 수 있다.

Comparison and Analysis of Quantum Software Simulators (양자 소프트웨어 시뮬레이터 비교 및 분석)

  • Kim, Jane;Cho, Seong-Min;Seo, Seung-Hyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2021.05a
    • /
    • pp.188-191
    • /
    • 2021
  • 최근 IBM, Intel 과 같은 글로벌 ICT 기업들과 여러 스타트업들이 양자 컴퓨터 개발에 성공하였으며 그에 따라 양자 시뮬레이터와 컴파일러에 대한 관심이 높아졌다. 여러 개의 시뮬레이터가 존재하는 만큼 시뮬레이터마다 제공하는 기능과 성능 역시 제각각 다르다. 본 논문에서는 비교적 접근이 쉬운 파이썬과 Q# 기반의 대표적인 양자 시뮬레이터 3 가지(Qiskit, Project Q, Quantum Development Kit)에서 제공하는 기능들을 소개하고 시뮬레이션 실행시간을 비교한다. 10 뎁스의 20 큐비트 회로에서는 QDK 시뮬레이터가 0.227 초로 실행 시간이 가장 짧았고, 10 큐비트의 10 뎁스 회로의 경우 Project Q 가, 1000 뎁스의 경우 Qiskit 이 가장 짧은 실행시간으로 측정됐다.

The software configuration management system for image processing algorithm development (영상처리 알고리즘 개발을 위한 소프트웨어형상관리시스템)

  • Lee Jeong-Heon;Chae Ok-Sam
    • The KIPS Transactions:PartB
    • /
    • v.12B no.1 s.97
    • /
    • pp.1-8
    • /
    • 2005
  • The importance of software is getting high in development of the digital device (digital camcoder, digital camera, mp3 player, ....). And because the sire of software becomes larger and complicated, the necessity of software configuration management (to solves a software crisis) is increased. The general software configuration management system shows lack of the property and features of software development environment for image processing algorithm due to its wide range to be covered. Image processing algorithm development environment has properties like repetitive analysis and simulation using visual programming environment where, beside support of elementary development functions. component(or library) can be combined and tested interactively. Moreover, the method to look fast and effectively for component having similar function is required. In this paper, we present the system which supports the software configuration management method for a simulation tool and the property in the visual programming environment. And we relate our system to real simulation tool so as to check its ability as the software configuration management system for image processing algorithm development environment.

A Study on Development of H8 MCU IDB(Integrated development board) for Embedded Education (임베디드 기술 교육용 H8 MCU 통합개발보드 개발에 관한 연구)

  • Huh, Hyun;Lee, Jaehak
    • The Journal of the Korea institute of electronic communication sciences
    • /
    • v.4 no.1
    • /
    • pp.53-59
    • /
    • 2009
  • By the use of open source and 16bit Microcomputer, IDB(Integrated Development Board) for embedded technical education was designed and developed. Based on 16bit MCU H8/300H, LED, LED Matrix, motors, sensors and various I/O circuitry, and the connection to a computer via the SCI, and $16{\times}2$ character LCD was designed and implemented on IDB. In addition, the software development environment was build by the assembler and H8 C compiler which is provided to the open-source software. And memory expansion was considered to include TRON(Real time OS) and uClinux. To verify the developed board, IDB was fabricated by PCB machine, and the fuction was confirmed by the basic I/O control program.

  • PDF

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

  • Cho, Doosan
    • The Journal of the Convergence on Culture Technology
    • /
    • v.8 no.1
    • /
    • pp.577-582
    • /
    • 2022
  • For developing a new embedded system, an application program/an emulator and a compiler are developed simultaneously. In order to provide the optimal performance of all system components, local optimization should be carried out for the developing process. For this purpose, if a source-level performance analyzer is developed, it is possible to optimize the application program's source code by the performance evaluation. In general, the performance of an application program is determined in the loop iterations. The Intermediate Representation (IR) code generator generates IR code from the source code, and evaluates the execution time with the instructions in the intermediate representation code. If the source code is improved based on the evaluated result, better results can be obtained in the final application code. This study describes the source-level performance analyzer that can be used during the simultaneous development of the new embedded system and its application programs. The performance analyzer makes it possible to more quickly optimize the performance of the new embedded system.