RISS 학술연구정보서비스

검색
다국어 입력

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

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

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

    RISS 인기검색어

      검색결과 좁혀 보기

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

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

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • 무료
      • 기관 내 무료
      • 유료
      • 정확한 정수 합동 분석을 위한 역방향 요약 연산자 정의

        서선애(Sunae Seo) 한국정보과학회 2002 한국정보과학회 학술발표논문집 Vol.29 No.2Ⅱ

        정수 합동 분석(integer congruence analysis)은 프로그램 변수들이 의미 영역을 정수 합동(integer congruence) 집합으로 정의하여 분석한다. 정수 합동 분석을 위한 합동 격자(lattice of integer congruences)와 순방향 요약 산술 연산자에 대한 정의는 이미 P. Granger에 의해 소개되었다. 하지만, 분석의 정확도에 영향을 미치는 역방향 요약 산술 연산자에 대한 연구가 아직 되어 있지 않다. 이 논문에서는 정수 합동 분석을 위한 역방향 요약 산술 연산자를 정의한다. 역방향 요약 산술 연산자를 정의하는 방법은 정수 방정식을 푸는 방법을 기반으로 고안되었다. 정의된 역방향 요약 산술 연산자는 프로그램 분석의 정확도를 높이는데 기여를 할 수 있는데, 이 논문에서는 예제를 통해서 이 사실을 보인다.

      • 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.

      • 프로그램 유사성 검사기

        장성순(Sungsoon Jang),서선애(Sunae Seo),이광근(Kwangkeun Yi) 한국정보과학회 2001 한국정보과학회 학술발표논문집 Vol.28 No.2Ⅰ

        표절을 쉽게 알아내기 위해, 프로그램 유사성 검사기(CloneChecker)를 만들었다. CloneChecker는 프로그램을 요약해서, 유사성을 계산하고, 비슷한 그룹들로 묶어 낸다. CloneChecker는 두 프로그램의 모든 부 구문트리(abstract syntax sub-tree)들을 서로 비교하므로 구문의 사소한 변화에 민감하지 않으며, 그럼에도 해쉬 함수를 이용하여 빠르게 수행된다. CloneChecker는 설제 강의에서 사용되었으며, C, Java, Scheme, nML로 짜여진 프로그램들에 대해 동작한다.

      • 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등재

        프로그램의 구조와 상수 값을 이용하는 바이너리 실행 파일의 차이점 분석

        박희완(Heewan Park),최석우(Seokwoo Choi),서선애(Sunae Seo),한태숙(Taisook Han) 한국정보과학회 2008 정보과학회논문지 : 소프트웨어 및 응용 Vol.35 No.7

        바이너리 코드의 차이점 분석은 보안 패치와 같은 매우 유사한 두 프로그램 사이의 차이점을 구별해 주는 방법이다. 이전의 연구에서는 분석을 위하여 프로그램의 구조 또는 명령어의 세부 사항만을 각각 이용하였다. 프로그램의 구조를 이용하는 차이점 분석 방법은 제어 흐름의 변화는 잘 탐지해 낼 수 있지만, 버퍼 크기 변화와 같은 상수 값의 변화는 잘 찾아낼 수 없다. 명령어 기반의 차이점 분석 방법은 세부적인 값의 변화는 발견할 수 있으나 명령어 재배치와 같은 컴파일러에 의해 생성되는 불필요한 차이점을 결과로 낸다는 단점이 있다. 이 연구에서는 프로그램 구조를 이용한 비교 분석 방법에 상수 값의 변화를 함께 추적할 수 있는 방법을 제안하고 바이너리 차이점 분석 도구를 구현하였다. 구현된 도구는 윈도 보안 업데이트를 이용하여 평가하였다. 실험 결과 제안된 방법은 구조적인 차이점 분석과 같이 빠른 속도로 구조적인 변화를 찾아낼 뿐 아니라 상수 값의 변화까지 추적할 수 있다는 것을 보였다. Binary diffing is a method to find differences in similar binary executables such as two different versions of security patches. Previous diffing methods using flow information can detect control flow changes, but they cannot track constant value changes. Diffing methods using assembly instructions can detect constant value changes, but they give false positives which are due to compiling methods such as instruction reordering. We present a binary diffing method and its implementation named SCV which utilizes both structure and value information. SCV summarizes structure and constant value information from disassembled code, and matches the summaries to find differences. By analyzing a Microsoft Windows security patches, we showed that SCV found necessary differences caused by constant value changes which the state-of-the-art binary diffing tool BinDiff failed to find.

      • KCI등재

        Esterel에서 근사-제어흐름그래프의 효율적인 생성 (pp.876-880)

        김철주(Chul-Joo Kim),윤정한(Jeong-Han Yun),서선애(Sunae Seo),최광무(Kwang-Moo Choe),한태숙(Taisook Han) 한국정보과학회 2009 정보과학회 컴퓨팅의 실제 논문지 Vol.15 No.11

        프로그램에 대한 자료흐름분석(data flow analysis)를 수행하기 위해서는 입력된 프로그램에 대응하는 제어흐름그래프(control flow graph)가 필요하다. 본 논문에서는 동기(synchronous)식 절차(imperative)형 언어 중 하나인 Esterel로 작성된 프로그램에 대해서 단순하면서 입력 프로그램의 구조와 흡사한 형태로 표현되는 근사-제어 흐름그래프(over-approximated CFG) 생성방법을 제안한다. 제안된 방법을 이용하면 병렬 제어흐름을 표현하는 부분에서 실행 불가능한 경우까지 포함할 수 있다. 그렇지만, 생성방법이 직관적이고, 실제 수행경로를 모두 포함하기 때문에 다른 분석을 수행하는데 매우 적합하다. A control flow graph(CFG) is an essential data structure for program analyses based on graph theory or control-/data- flow analyses. Esterel is an imperative synchronous language and its synchronous parallelism makes it difficult to construct a CFG of an Esterel program. In this work, we present a method to construct over-approximated CFGs for Esterel. Our method is very intuitive and generated CFGs include not only exposed paths but also invisible ones. Though the CFGs may contain some inexecutable paths due to complex combinations of parallelism and exception handling, they are very useful for other program analyses.

      • nML 컴파일러 시스템 (status report)

        이광근(Kwangkeun Yi),이욱세(Oukseh Lee),어현준(Hyunjun Eo),김정택(Jungtaek Kim),최응식(Woongsik Choi),류석영(Sukyoung Ryu),강현구(Hyun-Goo Kang),서선애(Sunae Seo),장성순(Sungsoon Jang),김범식(Bomshik Kim) 한국정보과학회 2001 한국정보과학회 학술발표논문집 Vol.28 No.2Ⅰ

        상위의 타입 구조를 갖춘 (higher-order and typed) nML을 고안하고 그 컴파일러를 개발하였다. nML은 프로그래밍 언어 분야의 중요한 성과들을 충실히 실현한 언어로서, Standard ML과 Objective Caml의 장점과 실제 프로그래밍 세계의 관성을 염두에 두고 정의되었다. nML 컴파일러의 실용성과 안전성은 이미 여러 응용 시스템 소프트웨어의 개발로 실험되고 있다. 이 전통적인 컴파일러 시스템에 본 연구단의 프로그램 분석기술들이 장착되면서, 실시간 안전성 검증이 가능하고, 작고, 자발적인 적응력 있는 코드를 만들어내는 컴파일러로 발전하는 발판이 마련되었다.

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼