RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      검색결과 좁혀 보기

      선택해제
      • 좁혀본 항목 보기순서

        • 원문유무
        • 원문제공처
        • 등재정보
        • 학술지명
        • 주제분류
        • 발행연도
          펼치기
        • 작성언어
        • 저자
          펼치기

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • 무료
      • 기관 내 무료
      • 유료
      • KCI등재

        에스테렐 프로그램 디버깅을 위한 테스트 데이터 자동 생성

        윤정한(Jeong-Han Yun),조민경(Minkyung Cho),서선애(Sunae Seo),한태숙(Taisook Han) 한국정보과학회 2009 정보과학회논문지 : 소프트웨어 및 응용 Vol.36 No.10

        Esterel is an imperative synchronous language that is well-adopted to specify reactive systems. Programmers sometimes want simple validations that can be applied while the system is under development. Since a reactive system reacts to environment changes, a test data is a sequence of input events. Generating proper test data by hand is complex and error-prone. Although several test data generators exist, they are hard to learn and use. Mostly, system designers need test data to reach a specific status of a target program. In this paper, we develop a test data generator to generate test input sequences for debugging Esterel programs. Our tool is focused on easy usage; users can describe test data properties with simple specifications. We show a case study in which the test data generator is used for a practical development process. 에스테렐은 반응형 시스템 설계에 적합하도록 디자인 된 명령형 동기언어이다. 시스템 개발 시에는 디버깅을 위해 다양한 테스트가 필요하다. 반응형 시스템을 테스트 하려면 일련의 입력을 시간의 흐름에 따라 순서대로 나열하여야 한다. 하지만 원하는 목적에 적합한 테스트 데이터를 생성해 주려면 많은 노력이 필요하며, 이 과정에서 오류가 발생하기도 한다. 따라서 디버깅의 특성상 빠르면서 원하는 목적의 테스트 데이터를 쉽게 표현할 수 있는 도구가 필요하다. 본 연구에서는 디버깅에 도움을 줄 수 있는 테스트 데이터 자동 생성기를 개발하였다. 본 연구는 개발자가 원하는 테스트 데이터를 쉽게 표현할 수 있고, 빠르게 테스트 데이터를 만들어내는 것에 초점을 두었다. 또한 사례 연구를 통해 실제 시스템 개발에 우리의 테스트 데이터 생성기를 적용한 예를 보여준다.

      • KCI등재

        제어 및 데이터 신호에 의한 Esterel에서의 새로운 회로 중복사용 문제

        윤정한(Jeong-Han Yun),김철주(Chul-Joo Kim),김성건(Seonggun Kim),최광무(Kwang-Moo Choe),한태숙(Taisook Han) 한국정보과학회 2010 정보과학회논문지 : 소프트웨어 및 응용 Vol.37 No.4

        Esterel은 명령형 동기언어로서, 많은 경우에 메모리, 캐쉬 컨트롤러, 버스 인터페이스 등을 개발하는데 사용하고 있다. Esterel 프로그램은 특정 상황에서 한 문장이 한 단위시간 안에 2번 이상 수행될 수 있다. 이러한 문장을 하드웨어로 컴파일 할 경우, 하나의 회로(circuit)가 한 클럭 안에 2번 수행되어 정상적으로 동작하지 않을 수 있다. 이러한 문제를 회로 중복사용(schizophrenia) 문제라고 부른다. 기존연구에서는 지역신호선언문과 병렬문만이 회로 중복사용 문제를 유발할 수 있다고 보았다. 하지만, 예외선언문에 의해 생성되는 제어 신호와 출력문이 만들어내는 데이터 신호도 회로 중복사용 문제를 유발할 수 있다. 특히, 출력문의 경우에는 기존 회로 중복사용 문제에 대한 해결책들의 출발점인 단순한 루프 펼치기(loop unrolling)로는 해결되지 않았다. 본 논문에서는 예외선언문과 출력문이 만들어 내는 2가지 새로운회로 중복사용 문제들을 열거하고 회로 중복사용 문제를 재정의 하였다. Esterel is an imperative synchronous language that is used to develop memories, cache controllers, bus interfaces, and so on. An Esterel statement is called schizophrenic if it is executed more than once in an instant. A schizophrenic statement may cause problems when it is translated to hardware circuits; a circuit performs more than one reaction in a clock. Previous works claim that only local signal declarations and parallel statements may cause schizophrenic problems. However, control signals produced by a trap statement or data signals used by emit statements can cause schizophrenia. They are new schizophrenic patterns. Especially, schizophrenic problems caused by emit statements cannot be solved by a loop unrolling technique that is the key idea of previous curing techniques for schizophrenic problems. In this paper, we introduce and define the two schizophrenic problems.

      • KCI등재

        Esterel에서 동기장치 중복사용 문제 검출시 과잉 경보 줄이기

        윤정한(Jeong-Han Yun),김철주(Chul-Joo Kim),김성건(Seonggun Kim),한태숙(Taisook Han) 한국정보과학회 2010 정보과학회논문지 : 소프트웨어 및 응용 Vol.37 No.8

        Esterel이라는 절차형(imperative) 동기(synchronous) 언어로부터 회로를 합성(synthesis)할때, 하나의 동기장치(synchronizer)가 한 클럭에 중복사용되는 문제(schizophrenic parallel synchronizer)가 발생할 수 있다. 기존 컴파일러는 동기장치가 중복사용될 경우 동기장치를 복제하여 이 문제를 해결하고 있다. 본 논문은 동기장치가 중복사용되더라도 회로상/기능상 문제가 없는 조건을 제시하고, 이를 기반으로 소스코드를 분석하여 복제해야만 하는 동기장치를 찾아주는 알고리즘을 제안한다. 이 알고리즘은 컴파일러가 중복사용되는 동기장치들 중에서 꼭 복제해야만 하는 것을 알 수 있게 해 주어, Esterel 프로그램을 좀 더 작은 회로로 합성할 수 있도록 한다. Esterel is an imperative synchronous language well-adapted to control-intensive systems. When an Esterel program is translated to a circuit, the synchronizer of a parallel statement may be executed more than once in a clock; the synchronizer is called schizophrenic. Existing compilers cure the problems of schizophrenic parallel synchronizers using logic duplications. This paper proposes the conditions under which a synchronizer causes no problem in circuits when it is executed more than once in a clock. In addition we design a detection algorithm based on those conditions. Our algorithm detects schizophrenic parallel synchronizers that have to be duplicated in Esterel source codes so that compilers can save the size of synthesized circuits.

      • KCI등재

        사용할 변수의 예측에 사용되는 반복적 알고리즘의 계산순서 재정렬을 통한 수행 속도 개선

        윤정한(Jeong-Han Yun),한태숙(Han Taisook) 한국정보과학회 2005 정보과학회논문지 : 소프트웨어 및 응용 Vol.32 No.8

        기존의 LVA를 수행하는 알고리즘은 반복적 정보흐름분석(Iterative Data Flow Analysis - DFA) 프레임워크에 따라 프로그램 전체를 반복적으로 스캔하면서 진행되어진다. Zephyr[1] 컴파일러의 경우 이와 같은 반복적 알고리즘으로 LVA를 수행하는 시간이 전체 컴파일 시간에서 약 7%를 차지하고 있다. 기존 LVA 알고리즘은 여러 가지로 개선할 점들이 있다. LVA를 수행하는 기존의 반복적 알고리즘은 알고리즘의 특성상 방문하지 않아도 되는 basic block들에 대한 방문이 잦고, 살아있는 변수들의 집합을 점차적으로 증가해 가면서 구하는 특성상 큰 변수들의 집합에 대한 연산을 계속 하게 된다. 우리는 기존의 알고리즘과 달리 사용된 변수들(USE set)에 대해 Control Flow Graph(CFG)에서 거슬러 올라가면서 LVA를 수행하는 반복적인 알고리즘의 개선안을 제안하고자 한다. 이는 기존의 알고리즘과 같은 결과를 내면서 더 빠른 알고리즘이다. DFA에서의 flow equation을 적용하는 순서를 바꿈으로써 많은 중복 계산을 줄일 수 있다. 이러한 방법으로 인해 basic block을 방문해야만 하는 횟수를 줄이면서 전체 수행 시간을 단축시킨다. 간단한 추가 구현만으로 Zephyr 컴파일러에서의 실험 결과에서 LVA만을 수행하는 시간에서 기존의 알고리즘보다 36.4% 짧은 시간을 사용하였고, 이는 전체 컴파일 시간을 2.6% 줄이는 효과를 가져왔다. The classical approaches for computing Live Variable Analysis(LVA) use iterative algorithms across the entire programs based on the Data Flow Analysis framework. In case of Zephyr compiler, average execution time of LVA takes 7% of the compilation time for the benchmark programs. The classical LVA algorithm has many aspects for improvement. The iterative algorithm for LVA scans useless basic blocks and calculates large sets of variables repeatedly. We propose the improvement of iterative algorithm for LVA based on used variables' upward movement. Our algorithm produces the same result as the previous iterative algorithm. It is based on use-def chain. Reordering of applying the flow equation in DFA reduces the number of visiting basic blocks and redundant flow equation executions, which improves overall processing time. Experimental results say that our algorithm can reduce 36.4% of LVA execution time and 2.6% of overall computation time in Zephyr compiler with benchmark programs.

      • KCI등재

        하드웨어 암호화 함수를 이용한 스크립트 응용 프로그램의 보안성 향상

        최창기(Changki Choi),한태숙(Taisook Han) 한국정보과학회 2012 정보과학회 컴퓨팅의 실제 논문지 Vol.18 No.4

        오픈 플랫폼 환경은 외부 개발자가 응용 프로그램을 개발하여 내부 임베디드 시스템에서 실행되는 구조로 되어 있다. 스크립트 응용 프로그램 기반의 오픈 플랫폼 환경의 경우 스크립트 응용 프로그램은 누구나 내용을 확인할 수 있어 기밀성에 취약하다. 본 논문에서는 응용 프로그램의 코드 노출 및 무단복제를 방지하기 위하여, 하드웨어 암호화 함수를 통한 응용 프로그램의 암호화와 암호화에 사용된 키의 안전한 관리 솔루션을 제시한다. 이 솔루션을 통해 오픈 플랫폼 환경의 보안 신뢰도를 향상 시킴으로써 개발자는 다양한 응용프로그램을 개발하여 사업과 수익의 다변화를 이루고, 환경 제공자는 다양한 응용 프로그램을 도입할 수 있어 환경 경쟁력을 향상시킬 수 있다. A major feature of open platform environment is that applications made by external developers can be executed on various internal embedded systems. Script applications of open platform are vulnerable in confidentiality because they can be exposed to an attacker easily. This paper suggests a way to encrypt script applications and manage the encryption key using HW cryptography on embedded system. This solution can protect source codes and unauthorized use of applications. With our solution for open platform environment to improve the reliability of the security, developers can provide various applications and expand their business model, and platform providers can provide various applications and improve their competitiveness.

      • KCI등재

        흐름 그래프 형태를 이용한 함수형 프로그램 유사성 비교

        서선애(Sunae Seo),한태숙(Taisook Han) 한국정보과학회 2005 정보과학회논문지 : 소프트웨어 및 응용 Vol.32 No.4

        컴퓨터와 소프트웨어의 사용이 증가하면서, 프로그램 소스의 도용(표절)이 사회적인 문제로 부각되고 있다. 이런 문제를 해결하고자 프로그램의 문법 구조를 비교하여 표절을 찾아내는 방법론이 제안되었지만, 간단한 프로그램 수정에도 표절을 찾아내지 못하는 한계를 가지고 있다. 이 연구에서는, 문법 구조적인 정보 뿐 아니라, 프로그램식 간의 수행시 의존 관계를 드러내는 그래프를 이용한 프로그램 표절 감지 시스템을 제안한다. 이 방법론은 문법 정보 뿐 아니라, 수행시 의존 관계까지 비교 대상에 올림으로써, 수행시 의존 관계를 변화시키지 못하는 프로그램 수정에 대해서도 프로그램 표절을 판별할 수 있다. 또한, 이 연구에서는 표절 프로그램이란 무엇인가를 엄밀하게 정의하고 이 표절 프로그램의 정의와 연구에서 제안된 표절 감별 그래프와의 관계를 보였다. 즉, 두 프로그램이 표절이라는 것은 표절 감별 그래프가 일치한다는 것과 필요 충분 관계가 있음을 증명하였다. 또한 제안된 표절 감별 방법론을 실제적인 프로그래밍 언어인 nML 에 대해서 구현하였다. 구현된 도구를 통해서 실제 표절된 프로그램들을 감별한 결과, 기존의 방법에서 찾기 어려운 프로그램 표절을 제안된 방법론이 다룰 수 있음을 확인하였다. Stealing the source code of a program is a serious problem not only in a moral sense but also in a legal sense. However, it is not clear whether the code of a program is copied from another or not. There was a program similarity checker detecting code-copy by comparing the abstract syntax trees of programs. However this method has a limitation that it cannot detect the code-copy attacks when the attacker modifies the syntax of the program on purpose. We propose a program similarity check by program control graph, which reveals not only syntax information but also control dependancy. Our method can detect the code-copy attacks that do not change control dependancy. Moreover, we define what code-copy means and establish the connection between code-copy and similarity of program control graph: we prove that two programs are related by copy congruence if and only if the program control graphs of these programs are equivalent. We implemented our method on a functional programming language, nML. The experimental results show us that the suggested method can detect code similarity that is not detected by the existing method.

      • Hybrid Deforestation : foldr/build 변환과 Deforestation의 결합을 이용한 접근

        임현일(Hyun-il Lim),한태숙(Taisook Han) 한국정보과학회 1998 정보과학회논문지(B) Vol.25 No.2

        함수형 언어의 프로그래밍에서 중간 자료 구조는 여러 프로그램을 결합하는데 많이 이용된다. 이 중간 자료 구조는 프로그래밍할 때에 많은 이점이 있지만 실행 시간에 많은 오버헤드를 준다. Defore-station과 foldr/build 변환은 이러한 중간 자료 구조를 컴파일 시간에 제거하기 위한 변환 방법이다. 본 논문에서는 deforestation과 foldr/build 변환의 차이점을 비교하고, 이 두 변환에서 사용하는 입력 형태를 결합한 hybrid, treeless form을 제시한다. 이 입력 언어에 대한 deforestation 알고리즘을 새롭게 제안하고, 이를 hybrid deforestation이라고 한다. 이 변환 방법은 deforestation의 변환 방법을 이용하여서 foldr/build 변환의 효과를 확대하는 방법이다. In functional programming, intermediate data structures are often used to glue together several programs. These intermediate data structures help us to modularize programs easily. But these incur several overheads in execution time. Deforestation and foldr/build transformation are transformation techniques which remove intermediate data structures at compile time. We focus on differences of foldr/build transformation and deforestation that make their effect different. We suggest a new input language form, hybrid treeless form composing inputs of two transformations. Then we present a new transformation algorithm for the new input form. That is derived from composition of deforestation and foldr/build transformation. It is expansion of foldr/build transformation using deforestation algorithm.

      • KCI등재

        가상화 기법으로 난독화된 실행 파일의 동적 분석 방법

        전준수(Joonsoo Jeon),한태숙(Taisook Han) 한국정보과학회 2013 정보과학회논문지 : 소프트웨어 및 응용 Vol.40 No.1

        악성코드에는 그 내용을 분석하여 대응책을 만들기 어렵게 하기 위하여 코드 난독화 기법들이 적용되어 있고, 사용되는 난독화 기법도 갈수록 고도화되고 다양해지고 있다. 특히 원본 프로그램을 구조가 알려지지 않은 가상기계의 바이트코드로 변환하고 해당 바이트코드를 함께 탑재한 가상기계로 실행하도록 하는 가상화를 이용한 난독화 기법은 원본 프로그램의 구조를 완전히 바꾸어 분석을 극도로 어렵게 만들고 있으며, 이를 응용한 변종 기법들도 다수 등장하고 있다. 이러한 난독화 기법들에 일일이 대응하여 역공학 기법을 개발하는 것은 매우 어렵다. 그러나 난독화된 프로그램은 필연적으로 원본 프로그램과 동일한 의미를 가져야 하므로 프로그램의 동적인 동작을 조사하여 이를 바탕으로 프로그램의 구조와 의미를 분석하는 것은 분석자가 프로그램의 내부를 파악하는 데 큰 도움이 된다. 본 논문에서는 가상화 기법으로 난독화된 프로그램의 구조와 의미를 파악하는 데 도움을 주는 동적 분석 알고리즘을 설계하고 이를 구현하여 분석에 도움을 주는 도구를 개발하였다. 분석자는 제안된 기법들과 개발된 도구를 이용하여 난독화된 악성코드를 이해하는데 걸리는 시간을 절약할 수 있다고 판단된다. Understanding the behavior of a malware is a difficult task because malware writers distort the binary executable with obfuscation techniques. Moreover, obfuscation techniques become sophisticated and diverse, and even the virtualization technique is applied. With virtualization of a binary executable, original instructions are transformed into bytecodes of unidentifiable virtual machine (VM) that simulates VM bytecodes during the execution. The virtualization modifies the structure of the programs and causes hard and time-consuming analyses. Furthermore, variations of VM hinder to devise a standard reverse-engineering technique. Nonetheless, since an obfuscated program inevitably has the same semantics as the original program, monitoring dynamic behaviors of the program will help the analyzers to figure out the inside based on the structure and semantics of its run traces. In this paper, we describe our observation on virtualization-obfuscation and present dynamic analysis algorithms and implement an analysis tool that analyzes the structure and semantics of run traces. We expect malware analyzers to save time in understanding an obfuscated malware with our tool.

      • 선택적 레덱스 트레일 기반의 디버거

        박희완(Heewan Park),한태숙(Taisook Han) 한국정보과학회 2000 정보과학회논문지 : 소프트웨어 및 응용 Vol.27 No.9

        함수형 프로그래밍 언어는 전통적인 프로시저형 언어에 비하여 많은 장점이 있다. 그러나 함수언어 프로그래머를 위한 실용적인 디버깅 환경은 상대적으로 빈약하다. 그동안 유용한 디버거 구현을 위해서 많은 시도가 있었고, 그 결과로 하향식 기법을 이용한 알고리즈믹 디버거와 상향식 기법을 이용한 레덱스 트레일 디버거가 연구되었다. 두가지 기법은 모두 실제 프로그래밍에 적용하기에는 유지해야 하는 디버깅 정보의 양이 많다는 단점이 있다. 이 논문에서는 선택적 레덱스 트레일 디버깅 방법을 제안한다. 이 방법을 이용하면 디버거 사용자는 프로그램에서 오류가 예상되는 부분에 포커스를 설정할 수 있고 단지 선택된 부분에 한하여 트레일을 생성하게 된다. 이 방법은 프로그램의 오류에 대한 디버거 사용자의 예측을 반영하고 디버깅에 필요한 정보의 양을 줄이는 장점이 있다. 구현된 디버깅 시스템은 선택적 레덱스 트레일을 생성하는 추상기계와 실제 디버깅이 이루어지는 레덱스 트레일 탐색기로 구성된다. Information Feature Visualization integrates the traditional information retrieval techniques and visualization techniques and reduces the time and effort from searching for requested information by promoting apprehension from the wide and various internet information. It's used to understand the related information tendency by supporting the statistic materials for retrieved results. It's useful to catch a tendency regarding information over the search process. Recently, by increasing interest in the information visualization in the library system, The research about various visualization technology and searching system has been developed by many researchers. So, to describe systematically and visually the feature of information, we'll make the element of information visualization uniform by various views and suggest paradigm renewing retrieval technology using information outlining techniques by developing search tool to improve apprehension about information and navigate more easily among information. We can improve user's apprehension about search information and search more usefully.

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼