The search functionality is under construction.
The search functionality is under construction.

Keyword Search Result

[Keyword] Java bytecode(2hit)

1-2hit
  • Analyzing Stack Flows to Compare Java Programs

    Hyun-il LIM  Taisook HAN  

     
    PAPER-Software System

      Vol:
    E95-D No:2
      Page(s):
    565-576

    This paper presents a method for comparing and detecting clones of Java programs by analyzing program stack flows. A stack flow denotes an operational behavior of a program by describing individual instructions and stack movements for performing specific operations. We analyze stack flows by simulating the operand stack movements during execution of a Java program. Two programs for detection of clones of Java programs are compared by matching similar pairs of stack flows in the programs. Experiments were performed on the proposed method and compared with the earlier approaches of comparing Java programs, the Tamada, k-gram, and stack pattern based methods. Their performance was evaluated with real-world Java programs in several categories collected from the Internet. The experimental results show that the proposed method is more effective than earlier methods of comparing and detecting clones of Java programs.

  • Detecting Theft of Java Applications via a Static Birthmark Based on Weighted Stack Patterns

    Hyun-il LIM  Heewan PARK  Seokwoo CHOI  Taisook HAN  

     
    PAPER-Application Information Security

      Vol:
    E91-D No:9
      Page(s):
    2323-2332

    A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their operands through the operand stack. A weight scheme is used to balance the influence of each bytecode in a comparison of the birthmarks. We evaluate the proposed birthmark with respect to two properties required for a birthmark: credibility and resilience. The empirical results show that the proposed birthmark is highly credible and resilient to program transformation. We also compare the proposed birthmark with existing birthmarks, such as that of Tamada et al. and the k-gram birthmark. The experimental results show that the proposed birthmark is more stable than the birthmarks in terms of resilience to program transformation. Thus, the proposed birthmark can provide more reliable evidence of software theft when the software is modified by someone other than author.