• Title/Summary/Keyword: control flow graph

Search Result 105, Processing Time 0.028 seconds

Static Type Inference Based on Static Single Assignment for Bytecode (바이트코드를 위한 정적 단일 배정문 기반의 정적 타입 추론)

  • Kim Ji-Min;Kim Ki-Tea;Kim Je-Min;Yoo Weon-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.11 no.4 s.42
    • /
    • pp.87-96
    • /
    • 2006
  • Although bytecode has many good features, it has slow execution speed and it is not an ideal representation for program analysis or optimization. For analysises and optimizations. bytecode must be translated to a Static Single Assignment Form(SSA Form) But when bytecode is translated a SSA Form it has lost type informations of son variables. For resolving these problem in this paper, we create extended control flow graph on bytecode. Also we convert the control flow graph to SSA Form for static analysis. Calculation about many informations such as dominator, immediate dominator. dominance frontier. ${\phi}$-Function. renaming are required to convert to SSA Form. To obtain appropriate type for generated SSA Form, we proceed the followings. First. we construct call graph and derivation graph of classes. And the we collect information associated with each node. After finding equivalence nodes and constructing Strongly Connected Component based on the collected informations. we assign type to each node.

  • PDF

A Minimal Constrained Scheduling Algorithm for Control Dominated ASIC Design (Control Dominated ASIC 설계를 위한 최소 제한조건 스케쥴링 알고리즘)

  • In, Chi-Ho
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.6
    • /
    • pp.1646-1655
    • /
    • 1999
  • This thesis presents a new VHDL intermediate format CDDG(Control Dominated Data Graph) and a minimal constrained scheduling algorithm for an optimal control dominated ASIC design. CDDG is a control flow graph which represents conditional branches and loops efficiently. Also it represents data dependency and such constraints as hardware resource and timing. In the proposed scheduling algorithm, the constraints using the inclusion and overlap relation among subgraphs. The effectiveness of the proposed algorithm has been proven by the experiment with the benchmark examples.

  • PDF

The Mathematical Analysis of an Extended Mark Flow Graph for Design of the Discrete-event Control System (이산시스템 설계를 위한 확장된 마크흐름선도의 수학적 해석)

  • 김희정;백형구;김종민;여정모
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2001.05a
    • /
    • pp.692-695
    • /
    • 2001
  • The EMFG(Extended Mark Flow Graph) is not only a powerful tool to. designing the discrete-event system conceptually or specifically but also a good representation tool for implementing the system directly. We present a transitions-firing process and automatic changes of the number of marks in each box as a firing determination algorithm with the incident matrix and the state transition equation. The convenient analysis and design of a system as well as Computer Aided Design is possible because the operations of an EMFG ran be represented in the mathematical analysis with ease.

  • PDF

Static Control Flow Analysis of Binary Codes (이진 코드의 정적 제어 흐름 분석)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Weon-Hee
    • The Journal of the Korea Contents Association
    • /
    • v.10 no.5
    • /
    • pp.70-79
    • /
    • 2010
  • We perform static program analysis for the binary code. The reason you want to analyze at the level of binary code, installed on your local computer, run the executable file without source code. And the reason we want to perform static analysis, static program analysis is to understand what actions to perform on your local computer. In this paper, execution flow graph representing information such as the execution order among functions and the flow of control is generated. Using graph, User can find execution flow of binary file and calls of insecure functions at the same time, and the graph should facilitate the analysis of binary files. In addition, program to be run is ensured the safety by providing an automated way to search the flow of execution, and program to be downloaded and installed from outside is determined whether safe before running.

Comparison of Code Similarity Analysis Performance of funcGNN and Siamese Network (funcGNN과 Siamese Network의 코드 유사성 분석 성능비교)

  • Choi, Dong-Bin;Jo, In-su;Park, Young B.
    • Journal of the Semiconductor & Display Technology
    • /
    • v.20 no.3
    • /
    • pp.113-116
    • /
    • 2021
  • As artificial intelligence technologies, including deep learning, develop, these technologies are being introduced to code similarity analysis. In the traditional analysis method of calculating the graph edit distance (GED) after converting the source code into a control flow graph (CFG), there are studies that calculate the GED through a trained graph neural network (GNN) with the converted CFG, Methods for analyzing code similarity through CNN by imaging CFG are also being studied. In this paper, to determine which approach will be effective and efficient in researching code similarity analysis methods using artificial intelligence in the future, code similarity is measured through funcGNN, which measures code similarity using GNN, and Siamese Network, which is an image similarity analysis model. The accuracy was compared and analyzed. As a result of the analysis, the error rate (0.0458) of the Siamese network was bigger than that of the funcGNN (0.0362).

Constructing A Loop Tree in CTOC (CTOC에서 루프 트리 구성하기)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Weong-Hee
    • The KIPS Transactions:PartD
    • /
    • v.15D no.2
    • /
    • pp.197-206
    • /
    • 2008
  • The CTOC framework was implemented to efficiently perform analysis and optimization of the Java bytecode that is often being used lately. In order to analyze and optimize the bytecode from the CTOC, the eCFG was first generated. Due to the bytecode characteristics of difficult analysis, the existing bytecode was expanded to be suitable for control flow analysis, and the control flow graph was drawn. We called eCFG(extended Control Flow Graph). Furthermore, the eCFG was converted into the SSA Form for a static analysis. Many loops were found in the conversion program. The previous CTOC performed conversion directly into the SSA Form without processing the loops. However, processing the loops prior to the SSA Form conversion allows more efficient generation of the SSA Form. This paper examines the process of finding the loops prior to converting the eCFG into the SSA Form in order to efficiently process the loops, and exhibits the procedures for generating the loop tree.

Design and Implementation for Multi-User Interface Video Conference System (다자간 화상회의 시스템의 설계 및 구현)

  • Joo, Heon-Sik;Lee, Sang-Yeob
    • Journal of the Korea Society of Computer and Information
    • /
    • v.13 no.1
    • /
    • pp.153-160
    • /
    • 2008
  • This paper shows the maximum data flow utilizing the Weight Bipartite Graph Matching system. The Weight Bipartite Graph Matching system sets the data transmission as edges and guides the maximum data flow on the set server and the client. The proposed Weight Bipartite Graph Matching system implements the multi-user interface video conference system. By sending max data to the server and having the client receive the max data, the non-continuance of the motion image frame, the bottleneck phenomenon, and the broken images are prevented due to the excellent capacity. The experiment shows a two-times better excellency than that of the previous flow control.

  • PDF

A Slice-based Complexity Measure (슬라이스 기반 복잡도 척도)

  • Moon, Yu-Mi;Choi, Wan-Kyoo;Lee, Sung-Joo
    • The KIPS Transactions:PartD
    • /
    • v.8D no.3
    • /
    • pp.257-264
    • /
    • 2001
  • We developed a SIFG (Slice-based Information Graph), which modelled the information flow on program on the basis of the information flow of data tokens on data slices. Then we defied a SCM (Slice-based complexity measure), which measured the program complexity by measuring the complexity of information flow on SIFG. SCM satisfied the necessary properties for complexity measure proposed by Briand et al. SCM could measure not only the control and data flow on program but also the physical size of program unlike the existing measures.

  • PDF

노트수에 의한 프로그램 복잡성 개선

  • No, Cheol-U
    • ETRI Journal
    • /
    • v.5 no.3
    • /
    • pp.16-25
    • /
    • 1983
  • Increasing importance is being attached to the idea of measuring software characteristics. This paper deals with following things. First, a relation of program and flow graph is discussed. It describes a theoretic complexity measure and illustrates how it can be used to manage and control program complexity. Second, cyclomatic complexity measure is discussed. The complexity is independent of physical size and depends only on the decision structure of a program. Third, consider a knot which defines crossing point and provide the ordering of the nodes to make the transition from a two dimensional graph to a one dimensional program. A program modules that can improve FORTRAN IV program text is tested by knot counting and its control complexity is improved.

  • PDF

The Performance-ability Evaluation of an UML Activity Diagram with the EMFG (EMFG를 이용한 UML 활동 다이어그램의 수행가능성 평가)

  • Yeo Jeong-Mo;Lee Mi-Soon
    • The KIPS Transactions:PartD
    • /
    • v.13D no.1 s.104
    • /
    • pp.117-124
    • /
    • 2006
  • Hardware and software codesign framework called PeaCE(Ptolemy extension as a Codesign Environment) was developed. It allows to express both data flow and control flow which is described as fFSM which extends traditional finite state machine. While the fFSM model provides lots of syntactic constructs for describing control flow, it has a lack of their formality and then difficulties in verifying the specification. In order to define the formal semantics of the fFSM, in this paper, firstly the hierarchical structure in the model is flattened and then the step semantics is defined. As a result, some important bugs such as race condition, ambiguous transition, and circulartransition can be formally detected in the model.