• 제목/요약/키워드: Control Flow Graph

검색결과 105건 처리시간 0.028초

자바 프로그램의 분석 및 검증을 위한 제어흐름그래프 시각화 (Visualization of Control Flow Graph for Analysis and Verification of JAVA Byte Code)

  • 정지웅;김제민;박준석;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 추계학술발표대회
    • /
    • pp.213-215
    • /
    • 2011
  • 프로그램에 대한 검증을 수행하기 위해서는 자료흐름을 알아야 하고, 입력된 프로그램에 대응하는 제어흐름그래프(control flow graph)가 필요하다. 이에 더하여 제어흐름 그래프를 시각화한다면 사용자 입장에서는 더 편한 프로그램이 될 것이다. 본 논문에서는 자바 프로그램의 검증도구에 사용하는 중간 표현 언어 중 하나인 BIRS(Bytecode Intermediate Representation with Specification)에 의해 생성되는 제어흐름그래프를 시각화하는 방법에 대해 제안한다.

조건부 자원 공유를 고려한 스케쥴링 알고리즘 (A scheduling algorithm for conditonal resources sharing consideration)

  • 인지호;정정화
    • 전자공학회논문지A
    • /
    • 제33A권2호
    • /
    • pp.196-204
    • /
    • 1996
  • This paper presents a new scheduling algorithm, which is the most improtant subtask in the high level synthesis. The proposed algorithm performs scheduling in consideration of resource sharing concept based on characteristics of conditionsla bransches in the intermediate data structure. CDFG (control data flow graph) generated by a VHDL analyzer. This algorithm constructs a conditon graph based on time frame of each operation using both the ASAP and the ALAP scheduling algorithm. The conditon priority is obtained from the condition graph constructed from each conditional brance. The determined condition priority implies the sequential order of transforming the CDFG with conditonal branches into the CDFG without conditional branches. To minimize resource cost, the CDFG with conditional branches are transformed into the CDFG without conditonal brancehs according to the condition priority. Considering the data dependency, the hardware constraints, and the data execution time constraints, each operation in the transformed CDFG is assigned ot control steps. Such assigning of unscheduled operations into contorl steps implies the performance of the scheduling in the consecutive movement of operations. The effectiveness of this algorithm is hsown by the experiment for the benchmark circuits.

  • PDF

흐름 그래프 형태를 이용한 함수형 프로그램 유사성 비고 (A Program Similarity Check by Flow Graphs of Functional Programs)

  • 서선애;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권4호
    • /
    • pp.290-299
    • /
    • 2005
  • 컴퓨터와 소프트웨어의 사용이 증가하면서, 프로그램 소스의 도용(표절)이 사회적인 문제로 부각되고 있다. 이런 문제를 해결하고자 프로그램의 문법 구조를 비교하여 표절을 찾아내는 방법론이 제안되었지만, 간단한 프로그램 수정에도 표절을 찾아내지 못하는 한계를 가지고 있다 이 연구에서는, 문법 구조적인 정보 뿐 아니라, 프로그램식 간의 수행시 의존 관계를 드러내는 그래프를 이용한 프로그램 표절 감지 시스템을 제안한다. 이 방법론은 문법 정보 뿐 아니라, 수행시 의존 관계까지 비교 대상에 을림으로써, 수행시 의콘 관계를 변화시키지 못하는 프로그램 수정에 대해서도 프로그램 표절을 판별할 수 있다. 또한, 이 연구에서는 표절 프로그램이란 무엇인가를 엄밀하게 정의하고 이 표절 프로그램의 정의와 연구에서 제안된 표:늰 감별 그래프와의 관계를 보였다. 즉, 두 프로그램이 표절이라는 것은 표절 감별 그래프가 일치한다는 긴과 필요 충분 관계가 있음을 증명하였다. 또한 제안된 표절 감별 방법론을 실제적인 프로그래밍 언어인 IML 에 대해서 구현하였다. 구현된 도구를 통해서 실제 표절된 프로그램들을 감별한 결과, 기존의 방법에서 찾기 어려운 프로그램 표절을 제안된 방법론이 다룰 수 있음을 확인하였다.

함수 수준 특징정보 기반의 오픈소스 소프트웨어 모듈 탐지 (Detection of an Open-Source Software Module based on Function-level Features)

  • 김동진;조성제
    • 정보과학회 논문지
    • /
    • 제42권6호
    • /
    • pp.713-722
    • /
    • 2015
  • OSS(Open-Source Software)의 사용 증가와 함께 라이선스 위반, 취약한 소스코드 재사용 등에 의한 분쟁 및 피해가 빈번해지고 있다. 이에, 실행파일(바이너리) 수준에서 프로그램에 OSS 모듈이 포함되었는지 여부를 확인하는 기술이 필요해졌다. 본 논문에서는 바이너리에서 함수 수준의 특징정보를 사용하여 OSS 모듈을 탐지하는 기법을 제안한다. 기존 소프트웨어 특징정보(버스마크) 기반 도용 탐지 기법들은 프로그램 전체 간 유사성을 비교하기 때문에 프로그램의 일부로 포함된 OSS 모듈들을 탐지하는데 부적합하다. 본 논문에서는, 함수 수준의 실행명령어, 제어 흐름 그래프(Control Flow Graph)와 개선된 함수 수준 구조적 특징정보를 추출하고 유사성을 비교하여 OSS 모듈의 임의 사용 여부를 탐지한다. 제안기법의 효율성과 각 특징정보들의 OSS 탐지 성능을 평가하기 위해, 특징정보량, OSS 모듈 탐지 시간 및 정확도, 컴파일러 최적화에 대한 강인성을 실험하였다.

계층성을 이용한 VHDL 행위 수준에서의 설계 오류 탐색 알고리듬 (Design Error Searching Algorithm in VHDL Behavioral-level using Hierarchy)

  • 윤성욱;정현권김진주김동욱
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 1998년도 추계종합학술대회 논문집
    • /
    • pp.1013-1016
    • /
    • 1998
  • A method for generation of design verification tests from behavior-level VHDL program is presented. Behavioral VHDL programs contain multiple communicating processes, signal assignment statements. So for large, complex system, it is difficult problem to test or simulation. In this paper, we proposed a new hardware design verification method. For this method generates control flow graph(CFG.) and process modeling graph(PMG) in the given under the testing VHDL program. And this method proved very effective that all the assumed design errors could be detected.

  • PDF

Java의 예외 제어 흐름을 포함한 제어 흐름 그래프 생성 (Constructing Control Flow Graph with Exceptional Control Flow for Java)

  • 조장우;이정수
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (2)
    • /
    • pp.649-651
    • /
    • 2002
  • 제어 흐름 그래프는 프로그램의 문장들간의 제어 흐름 정보를 표현하는 방법이다. 제어 흐름 정보는 프로그램 분석과 테스팅 분야에서 필요로 하는 정보이다. 제어 흐름 정보가 정확할수록 정확한 분석 결과와 테스팅 결과를 구할 수 있다. 실제 자바 프로그램에서 예외 구문의 사용빈도가 많으므로 예외 제어 흐름을 제어 흐름 정보에 포함해야 한다. 본 논문에서는 특정 분석에 무관하게 예외 제어 흐름을 포함하는 제어 흐름 그래프를 생성하는 일반적인 방법을 제안한다. 그리고 예외 제어 흐름을 포함하는 제어 흐름 그래프를 생성할때, 정상 흐름과 예외 흐름을 분리해서 하는 방법을 제안한다.

  • PDF

콤포넌트 맵핑을 위한 합성 알고리즘에 관한 연구 (A Study of Synthesis Algorithm for Component Mapping)

  • 김재진;이사원
    • 한국컴퓨터정보학회논문지
    • /
    • 제3권4호
    • /
    • pp.44-48
    • /
    • 1998
  • 본 는문에서는 RT콤포넌트를 이용한 맵핑 방법으로 HDL로 기술된 연산자들을 RT콤포넌트에 맞도록 CDFG를 구성한 후 그래프를 최소화하고 cost와 bound를 계산하여 적합한 라이브러리를 선정하여 맵핑할 수 있는 콤포넌트 합성 알고리즘(Component Synthesis Algorithm)을 제안하였다.

  • PDF

SIFG를 이용한 프로그램 복잡도 척도 (A Program Complexity Measure using the Slice-based Information Flow Graph(SIFG))

  • 최완규;정일용;이성주
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권12호
    • /
    • pp.910-920
    • /
    • 2001
  • 본 논문은 프로그램 슬라이스에서의 데이타 토큰들의 정보 흐름에 기초하여 프로그램에서의 정보 흐름을 모델링하기 SIF(Slice-based Information Flow Graph)를 개발하였다 다음으로, SIFG에서 의 정보 흐름의 복잡도 측정을 통해서 프로그램의 복잡도를 측정하기 위해 SCM(Slice based Complexity Measure)을 정의하였다. Zuse의 방법에 따라. 본 연구에서는 SIFC에서의 극소 수정(atomic modifica- tion을 통해 SCM이 순서척도가 됨을 보여주었고, 이항 연산 MBSEQ에 대해서 SCM이 가법성을 만족함을 보여주었고, 이항 연산 MBALP 에 대해서는 Zuse의 가법성을 만족하지 않지만 Weyuker의 9번째 공리를 만족함을 보여주었다. 또한 기존 척도들과의 비교를 통해서. SCM이 프로그램 내에서의 제어와 데이타 흐름뿐만 아니라 프로그램의 물리적 크기를 반영하는 측정이 이루어진다는 것을 보여주었다.

  • PDF

상위레벨 회로합성을 위한 자원제한 스케줄링 알고리즘 (A Resource-Constrained Scheduling Algorithm for High Level Synthesis)

  • 황인재
    • 융합신호처리학회논문지
    • /
    • 제6권1호
    • /
    • pp.39-44
    • /
    • 2005
  • 스케줄링은 CDFG 내의 각 연산에 우선순위 관계를 유지하면서 연산이 수행될 제어스텝을 할당하는 과정으로 합성된 하드웨어의 성능에 직접적인 영향을 미치는 중요한 단계이다. 본 논문에서는 자원제한 스케줄링 알고리즘을 제안한다. 제안된 알고리즘은 주어진 그래프를 분석하여 연산유닛의 개수를 결정하고 이에 따라 각 연산을 제어스텝에 할당한다. 스케줄링 과정 중에 상대적으로 부족한 연산유닛과 여유 있는 연산유닛을 구별하여 연산유닛의 수를 조절한 후 반복적으로 성능개선을 시도하게 된다. 제안된 알고리즘의 성능을 평가하기 위하여 모의실험을 수행하였고 그 결과는 기존의 방법들에 비해 우수함을 알 수 있었다.

  • PDF

이진 코드의 정적 실행 흐름 추적을 위한 프레임워크 설계 및 구현 (Design and Implementation of Framework for Static Execution Flow Trace of Binary Codes)

  • 백영태;김기태;전상표
    • 한국컴퓨터정보학회논문지
    • /
    • 제16권6호
    • /
    • pp.51-59
    • /
    • 2011
  • 국내에는 바이너리 코드에 대한 분석 기술이 많이 부족한 상태이다. 일반적으로 컴퓨터에 설치되는 실행 파일은 소스 코드 없이 단지 바이너리로 된 실행 파일만 주어지는 경우가 대부분이다. 따라서 위험하거나 알 수 없는 동작이 수행되는 경우가 발생할 수 있다. 따라서 이 논문에서는 바이너리 수준에서 정적으로 프로그램 분석을 수행할 수 있는 프레임워크를 설계 및 구현한다. 이 논문에서는 바이너리 실행 파일로부터 실행 순서 및 제어 흐름 등의 정보를 표현할 수 있는 제어 흐름 그래프를 작성하여 실행 흐름과 위험한 함수의 호출 여부를 동시에 파악하고 개발된 프레임워크를 통해 바이너리 파일에 대한 분석을 용이하게 한다.