• Title/Summary/Keyword: 컴파일러 검사

Search Result 27, Processing Time 0.023 seconds

Implementation and Testing of the WTP Protocol using SDL Tools (SDL 도구를 이용한 WTP 프로토콜의 구현 및 시험)

  • Lee, Hae-Dong;Jung, Ho-Won;Won, Yoo-Jae;Lim, Kyung-Shik
    • Journal of KIISE:Information Networking
    • /
    • v.28 no.3
    • /
    • pp.297-308
    • /
    • 2001
  • In this paper, we design, validate and implement WTP(Wireless Transaction Protocol) using SDT(SDL Design Tool). We do modeling WTP protocol by SDL(Specification and Description Language), design and implement the environment function for the interface between the SDL system and the UDP platform and design APIs(Application Programming Interface). And we do conformance testing for WTP protocol software using ITEX(Interactive TTCN Editor and eXecutor). We write ATS(Abstract Test Suite) by TTCN(Tree and Tabular Combined Notation) and make ETS(Executable Test Suite) by the TTCN compiler supplied by ITEX.

  • PDF

A String Analysis based System for Classifying Android Apps Accessing Harmful Sites (유해 사이트를 접속하는 안드로이드 앱을 문자열 분석으로 검사하는 시스템)

  • Choi, Kwang-Hoon;Ko, Kwang-Man;Park, Hee-Wan;Youn, Jong-Hee
    • The KIPS Transactions:PartA
    • /
    • v.19A no.4
    • /
    • pp.187-194
    • /
    • 2012
  • This paper proposes a string analysis based system for classifying Android Apps that may access so called harmful sites, and shows an experiment result for real Android apps on the market. The system first transforms Android App binary codes into Java byte codes, it performs string analysis to compute a set of strings at all program points, and it classifies the Android App as bad ones if the computed set contains URLs that are classified because the sites provide inappropriate contents. In the proposed approach, the system performs such a classification in the stage of distribution before installing and executing the Apps. Furthermore, the system is suitable for the automatic management of Android Apps in the market. The proposed system can be combined with the existing methods using DNS servers or monitoring modules to identify harmful Android apps better in different stages.

A Context Free Grammar based Algorithm for Generating Playable Transcoding Paths of the Multimedia Presentation with Different End-to-End QoS (종단간 상이한 QoS를 갖는 멀티미디어 연출 재생을 위한 CFG 기반의 변환 경로 생성 알고리즘)

  • Chon, Sung-Mi;Lim, Young-Hwan
    • The KIPS Transactions:PartC
    • /
    • v.9C no.5
    • /
    • pp.699-708
    • /
    • 2002
  • Since various terminals and different networks get involved in playing of a multimedia presentation, the case that the presentation QoS at a destination should be different from the QoS of multimedia data at a source occurs frequently. For playing the multimedia presentation, the multimedia data at a source should be transcoded into the multimedia data satisfying the QoS required at the terminal. The problem of generating the transcoding path is that, for a given multimedia presentation, different transcoding paths depending the terminal and networks should be generated. That is, a fixed transcoding path cannot be applied to a multimedia presentation. Instead, whenever the terminal and network to play the presentation get determined, a proper transcoding path should be regenerated automatically. In this paper, the algorithm for generating the transcoding path and the method for checking the playability of the generated path are proposed. The generating algorithm adopted the technique of Context Free Grammar in describing the set of transcoding resources and a user's transcoding rules in order to utilize the well-known compiler techniques. For the playability check, a method of computing the transcoding time and the delay time between data units are proposed. Finally all the proposed methods were implemented in the stream engine, called Transcore and the presentation-authoring tool, called VIP, we had developed. And the test results with a sample scenario were presented at the last.

Improving Compiler to Prevent Buffer Overflow Attack (버퍼오버플로우 공격 방지를 위한 컴파일러 기법)

  • Kim, Jong-Ewi;Lee, Seong-Uck;Hong, Man-Pyo
    • The KIPS Transactions:PartC
    • /
    • v.9C no.4
    • /
    • pp.453-458
    • /
    • 2002
  • Recently, the number of hacking, that use buffer overflow vulnerabilities, are increasing. Although the buffer overflow Problem has been known for a long time, for the following reasons, it continuos to present a serious security threat. There are three defense method of buffer overflow attack. First, allow overwrite but do not allow unauthorized change of control flow. Second, do not allow overwriting at all. Third, allow change of control flow, but prevents execution of injected code. This paper is for allowing overwrites but do not allow unauthorized change of control flow which is the solution of extending compiler. The previous defense method has two defects. First, a program company with overhead because it do much thing before than applying for the method In execution of process. Second, each time function returns, it store return address in reserved memory created by compiler. This cause waste of memory too much. The new proposed method is to extend compiler, by processing after compiling and linking time. To complement these defects, we can reduce things to do in execution time. By processing additional steps after compile/linking time and before execution time. We can reduce overhead.

Verification of Machine Codes using an Effect Type System (효과 타입 시스템을 이용한 기계어 코드의 검증)

  • Chung, Jae-Youn;Ryu, Suk-Young;Yi, Kwang-Keun
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.8
    • /
    • pp.886-901
    • /
    • 2000
  • Verification of the safety of untrusted codes becomes an important issue in the mobile computing environment and the safety-critical software systems. Recently, it is very common to run the codes attached to the electronic mails or downloaded from the web browsers. We propose the verification method of the machine code property. The code producer delivers the machine code and its property, then the code consumer checks whether the delivered code satisfies the delivered property. The safety of source codes is verified by the well-defined compiler systems but the verification mechanism for machine codes is not well defined yet. We design an intermediate language etySECK and propose the verification method of the property of etySECK programs. And then we prove the soundness of our system which is the type system with effect extension.

  • PDF

A Process Programming Language and Its Runtime Support System for the SEED Process-centered Software Engineering Environment (SEED 프로세스 중심 소프트웨어 개발 환경을 위한 프로세스 프로그래밍 언어 및 수행지원 시스템)

  • Kim, Yeong-Gon;Choe, Hyeok-Jae;Lee, Myeong-Jun;Im, Chae-Deok;Han, U-Yong
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.6
    • /
    • pp.727-737
    • /
    • 1999
  • 프로세스 중심 소프트웨어 개발 환경(PSEE : Process-centered Software Engineering Environment)은 소프트웨어 개발자를 위한 여러가지 정보의 제공과 타스크의 수행, 소프트웨어 개발 도구의 수행 및 제어, 필수적인 규칙이나 업무의 수행등과 같은 다양한 행위를 제공하는 프로세스 모형의 수행을 통하여 소프트웨어 개발 행위를 지원한다. SEED(Software Engineering Environment for Development)는 효율적인 소프트웨어 개발과 프로세스 모형의 수행을 제어하기 위해 ETRI에서 개발된 PSEE이다.본 논문에서는 SEED에서 프로세스 모형을 설계하기 위해 사용되는 SimFlex 프로세스 프로그래밍 언어와, 수행지원시스템인 SEED Engine의 구현에 대하여 기술한다. SimFlex는 간단한 언어 구조를 가진 프로세스 프로그래밍 언어이며, 적절한 적합화를 통하여 다른 PSEE에서 사용될 수 있다. SimFlex 컴파일러는 SimFlex에 의해 기술된 프로세스 모형을 분석하고, 모형의 오류를 검사하며, SEED Engine에 의해 참조되는 중간 프로세스 모형을 생성한다. 중간 프로세스 모형을 사용하여 SEED Engine은 외부 모니터링 도구와 연관하여 사용자를 위한 유용한 정보뿐만 아니라 SimFlex에 의해 기술된 프로세스 모형의 자동적인 수행을 제공한다. SimFlex 언어와 수행지원 시스템의 지원을 통하여 소프트웨어 프로세스를 모형화하는데 드는 비용과 시간을 줄일 수 있으며, 편리하게 프로젝트를 관리하여 양질의 소프트웨어 생산물을 도출할 수 있다. Abstract Process-centered Software Engineering Environments(PSEEs) support software development activities through the enaction of process models, providing a variety of activities such as supply of various information for software developers, automation of routine tasks, invocation and control of software development tools, and enforcement of mandatory rules and practices. The SEED(Software Engineering Environment for Development) system is a PSEE which was developed for effective software process development and controlling the enactment of process models by ETRI.In this paper, we describe the implementation of the SimFlex process programming language used to design process models in SEED, and its runtime support system called by SEED Engine. SimFlex is a software process programming language to describe process models with simple language constructs, and it could be embedded into other PSEEs through appropriate customization. The SimFlex compiler analyzes process models described by SimFlex, check errors in the models, and produce intermediate process models referenced by the SEED Engine. Using the intermediate process models, the SEED Engine provides automatic enactment of the process models described by SimFlex as well as useful information for agents linked to the external monitoring tool. With the help of the SimFlex language and its runtime support system, we can reduce cost and time in modeling software processes and perform convenient project management, producing well-qualified software products.

Design of Translator for generating Secure Java Bytecode from Thread code of Multithreaded Models (다중스레드 모델의 스레드 코드를 안전한 자바 바이트코드로 변환하기 위한 번역기 설계)

  • 김기태;유원희
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • 2002.06a
    • /
    • pp.148-155
    • /
    • 2002
  • Multithreaded models improve the efficiency of parallel systems by combining inner parallelism, asynchronous data availability and the locality of von Neumann model. This model executes thread code which is generated by compiler and of which quality is given by the method of generation. But multithreaded models have the demerit that execution model is restricted to a specific platform. On the contrary, Java has the platform independency, so if we can translate from threads code to Java bytecode, we can use the advantages of multithreaded models in many platforms. Java executes Java bytecode which is intermediate language format for Java virtual machine. Java bytecode plays a role of an intermediate language in translator and Java virtual machine work as back-end in translator. But, Java bytecode which is translated from multithreaded models have the demerit that it is not secure. This paper, multhithread code whose feature of platform independent can execute in java virtual machine. We design and implement translator which translate from thread code of multithreaded code to Java bytecode and which check secure problems from Java bytecode.

  • PDF