A Study on Static Type Assignment for Static Single Assignment Form

정적 단일 배정 형태를 위한 정적 타입 배정에 관한 연구

  • 김기태 (인하대학교 컴퓨터공학부) ;
  • 유원희 (인하대학교 컴퓨터공학부)
  • Published : 2006.02.01

Abstract

Although the Java bytecode has numerous advantages, there are also shortcomings such as slow execution speed and difficulty in analysis. In order to overcome such disadvantages, bytecode analysis and optimization must be performed. First control flow of the bytecode should be analyzed, after which information is required regarding where the variables are defined and used to conduct data flow analysis and optimization. There may be cases where variables with an identical name contain different values at a different location during the execution according to the value assigned to a variable in each location. Therefore, in order to statically determine the value and type, the variables must be separated according to allocation. In order to do so, the variables can be expressed using a static single assignment form. After the transformation into a static single assignment form, the type information of each node expressed by each variable and expression must be configured to perform static analysis and optimization. Based on the basic type information, this paper proposes a method for finding related equivalent nodes, setting the nodes with strongly connection components and efficiently assigning each node the type.

Keywords

Java Bytecodes;Control Flow Graph;Static Single Assignment Form;Static Type Assignment