KR20020032889A - 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법 - Google Patents

자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법 Download PDF

Info

Publication number
KR20020032889A
KR20020032889A KR1020000063617A KR20000063617A KR20020032889A KR 20020032889 A KR20020032889 A KR 20020032889A KR 1020000063617 A KR1020000063617 A KR 1020000063617A KR 20000063617 A KR20000063617 A KR 20000063617A KR 20020032889 A KR20020032889 A KR 20020032889A
Authority
KR
South Korea
Prior art keywords
class
call relationship
call
java
relationship
Prior art date
Application number
KR1020000063617A
Other languages
English (en)
Inventor
옥재호
정연정
황성운
이준석
윤기송
Original Assignee
오길록
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오길록, 한국전자통신연구원 filed Critical 오길록
Priority to KR1020000063617A priority Critical patent/KR20020032889A/ko
Publication of KR20020032889A publication Critical patent/KR20020032889A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법에 관한 것으로, 자바 소스코드가 아닌 가상머신에 의해 실행되는 클래스 파일의 분석을 통해 자바 프로그램내 클래스들 사이의 호출관계를 표시하는 클래스 호출관계 표시 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다. 즉, 본 발명은, 자바 소스코드가 아닌 가상머신에 의해 실행되는 클래스 파일의 분석을 통해 자바 프로그램내 클래스들 사이의 호출관계를 표시함으로써 자바 소스코드에 나타난 명시적인 실행순서 뿐만 아니라, 내부에 숨겨진 자바 표준 클래스들간의 호출관계도 알 수 있고, 상기 호출관계를 통해 자바 프로그램에 대한 명확한 이해와 가상머신에 의해 실행되는 실행순서를 알 수 있게 하는 자바 클래스 호출관계 표시에 관한 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 자바 클래스 파일을 분석하여 메소드 호출관계를 구하는 제 1 단계; 상기 구한 메소드 호출관계를 통하여 클래스 호출관계를 분석하는 제 2 단계; 및 상기 분석된 클래스 호출관계를 표시하는 제 3 단계를 포함하며, 시스템 프로그래밍 연구 등에 이용됨.

Description

자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법{A Method for Analysing a Call-Hierarchy among JAVA Classes}
본 발명은 클래스 호출관계 표시 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 자바 가상머신에 의해 실행되는 클래스들 간의 호출관계를 표시하고, 상기 클래스들 간의 호출관계를 통해 자바 프로그램의 실행 순서를 명확하게 알 수 있게 하는 클래스 호출관계 표시 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
자바 언어는 기존의 절차 중심 언어(procedural language)가 아닌 객체 지향 언어로서 프로그램의 수행 순서가 명시적으로 잘 드러나지 않기 때문에 자바 언어로 프로그램을 작성하거나 작성된 자바 프로그램을 분석하는 것은 쉽지 않다.
또한, 객체 지향 언어의 특징인 시스템에서 제공되는 방대한 클래스와 메소드에 대한 사전 지식의 요구는 프로그램의 작성과 분석을 더욱 어렵게 한다.
이러한 문제를 해결하기 위해서 선 마이크로 시스템, 볼랜드, 시만텍, 래셔널(Rational)사 등에서 여러가지 자바 개발/분석 도구를 제공하고 있고, 이러한 도구들은 객체 간의 상속관계나 객체내의 메소드에 대한 상세한 명세를 제공함으로써 사용자의 자바 프로그램 개발과 분석에 도움을 준다.
그러나, 상기와 같은 분석 도구들이 원시 소스 프로그램에 나타난 명시적인 정도의 분석만을 제공하고, 프로그램의 단순성이라는 측면에서 상부 구조만을 사용자에게 보임으로써 복잡성을 줄여준다는 이점은 있으나, 그 하부 구조인 자바 가상머신에 대해서는 감추어 버림으로써 컴파일러의 개발이나 운영체제 연구와 같은 시스템 프로그래밍 연구 분야에서는 그 유용성이 떨어지는 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 자바 소스코드가 아닌 가상머신에 의해 실행되는 클래스 파일의 분석을 통해 자바 프로그램내 클래스들 사이의 호출관계를 표시하는 클래스 호출관계 표시 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
즉, 본 발명은, 자바 소스코드가 아닌 가상머신에 의해 실행되는 클래스 파일의 분석을 통해 자바 프로그램내 클래스들 사이의 호출관계를 표시함으로써 자바 소스코드에 나타난 명시적인 실행순서 뿐만 아니라, 내부에 숨겨진 자바 표준 클래스들간의 호출관계도 알 수 있고, 상기 호출관계를 통해 자바 프로그램에 대한 명확한 이해와 가상머신에 의해 실행되는 실행순서를 알 수 있게 하는 자바 클래스 호출관계 표시에 관한 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 자바 클래스 파일의 구성예시도.
도 2 는 본 발명에 따른 코드 어트리뷰트내의 바이트 코드에서 메소드 호출에 관련된 정보를 추출하는 과정에 대한 일실시예 설명도.
도 3 은 본 발명에 따른 명령어에 의해 호출받은 메소드 정보를 추출하는 과정에 대한 일실시예 설명도.
도 4 는 본 발명에 따른 클래스 호출관계 표시 방법에 대한 일실시예 흐름도.
도 5 는 본 발명에 따른 클래스 호출관계 표시 방법에 의한 표시화면의 일실시예시도.
* 도면의 주요 부분에 대한 부호의 설명
210 : 클래스 파일220 : 코드 어트리뷰트 검색
230 : 명령어240 : 메소드 리스트
상기 목적을 달성하기 위한 본 발명의 방법은, 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 장치에 적용되는 클래스 호출관계 표시 방법에 있어서, 자바 클래스 파일을 분석하여 메소드 호출관계를 구하는 제 1 단계; 상기 구한 메소드 호출관계를 통하여 클래스 호출관계를 분석하는 제 2 단계; 및 상기 분석된 클래스 호출관계를 표시하는 제 3 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 프로세서를 구비한 클래스 호출관계 표시 장치에, 자바 클래스 파일을 분석하여 메소드 호출관계를 구하는 제 1 기능; 상기 구한 메소드 호출관계를 통하여 클래스 호출관계를 분석하는 제 2 기능; 및 상기 분석된 클래스 호출관계를 표시하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 자바 클래스 파일의 구성예시도이다.
자바 프로그램은 자바 컴파일러에 의해 클래스 파일(100)로 변환되며, 상기 클래스 파일(100)은 자바 프로그램을 위해 정의된 바이너리 형식의 데이터로서, 타입(101), 이름(102), 개수의 정보가 순차적으로 들어있는 구조로 되어 있다. 여기서, 상기 클래스 파일의 개수에 대한 정보는 클래스 파일의 이름내에 포함되어 있다.
특히, 클래스 파일(100)의 메소드(method)영역(103)은 클래스내에 정의된 모든 메소드에 대한 정보들을 가지고 있고, 구성 정보로는 메소드 이름(name),명세(descriptor), 엑세스 플래그(access flag), 어트리뷰트(attribute)개수, 어트리뷰트(attribute)를 포함한다.
또한, 상기 메소드 영역의 어트리뷰트 영역으로는 스택의 크기, 지역 변수의 개수, 메소드 영역에 저장된 실제 바이트 코드와 예외 처리 테이블 등이 저장되어 있는 코드 어트리뷰트(code attribute)가 있다. 여기서, 상기 바이트 코드는 자바 가상머신에 의해 실행될 수 있도록 정의된 중간 코드를 나타낸다.
따라서, 본 발명에서는 상기 코드 어트리뷰트에 정의된 실제 바이트 코드를 분석함으로써 메소드에 대한 호출관계를 알 수 있다.
도 2 는 본 발명에 따른 코드 어트리뷰트내의 바이트 코드에서 메소드 호출에 관련된 정보를 추출하는 과정에 대한 일실시예 설명도이다.
도면에서, "210"은 클래스 파일, "220"은 코드 어트리뷰트 검색, "230"은 명령어, 그리고 "240"은 메소드 호출관계 리스트를 각각 나타낸다.
여기서, 명령어(230)는 코드 어트리뷰트내의 바이트 코드에서 메소드의 호출에 사용되는 명령어(230)로서, 일반적인 메소드의 호출에 사용되는 "인보크 버추얼(invoke virtual)"(233), 클래스의 생성자와 같은 특수한 메소드의 호출에 사용되는 "인보크 스페셜(invoke special)"(231), 마지막으로 정적 메소드 호출에 사용되는 "인보크 스태틱(invoke static)"(232)이 있다.
도 2 에 도시된 바와 같이, 본 발명에 따른 코드 어트리뷰트내의 바이트 코드에서 메소드 호출에 관련된 정보를 추출하는 과정에 대하여 상세하게 설명하면 다음과 같다.
먼저, 클래스 파일(210)의 코드 어트리뷰트를 검색(220)하여 코드 어트리뷰트에 정의된 실제 각 바이트 코드를 분석한 후, 세 명령어(230)의 존재 유무를 검사하고, 명령어에 의해 호출받는 메소드 함수의 리스트인 메소드 호출관계 리스트(240)를 작성한다.
여기서, 각각의 메소드 호출 명령어들(230)은 명령어 다음에 2개의 연속된 1 바이트 크기의 인덱스를 가지는 일정한 형식을 갖추고 있다.
상기 인덱스는 클래스내에 상수 풀(constant pool) 영역의 번지를 나타낸다. 여기서, 상기 상수 풀은 클래스나 인터페이스내에서 사용되는 모든 상수를 담아 놓은 일종의 메모리 공간으로 데이터의 길이가 일정치 않는 엔트리(entry)들의 연속으로 구성되어 있고, 상수 풀 내에는 리터럴 문자열, 파이널(final)변수들, 클래스 이름, 메소드 이름 등을 포함한다.
도 3 은 본 발명에 따른 명령어에 의해 호출받은 메소드 정보를 추출하는 과정에 대한 일실시예 설명도이다.
도 2 에서, 클래스 파일(210)의 코드 어트리뷰트를 검색(220)하여 코드 어트리뷰트에 정의된 실제 각 바이트 코드를 분석한 후, 세 명령어(230)의 존재 유무를 검사하고, 명령어가 검색되면 호출받은 메소드의 정보를 추출하는데, 명령어에 의해 호출받는 메소드 정보를 추출하는 과정에 대하여 도 3 을 참조하여 상세하게 설명하면 다음과 같다.
먼저, 상기 검색된 명령어(310) 다음의 2개의 인덱스 바이트(320, 330) 중 첫번째 인덱스 바이트(320)를 레프트 시프트(left shift) 연산(340)하여, 호출하려는 메소드의 이름을 가리키는 인덱스인 상수 풀(constant pool) 인덱스를 생성한다.
한편, 상기 레프트 시프트(left shift) 연산(340)하여 생성된 상수 풀 인덱스(350)는 상수 풀 내의 엔트리의 위치를 나타내므로, 상수 풀 내의 엔트리를 통하여 호출받는 메소드의 이름을 알 수 있고, 상기 호출받는 메소드의 이름은 메소드 호출관계 리스트(240)에 저장된다.
도 4 는 본 발명에 따른 클래스 호출관계 표시 방법에 대한 일실시예 흐름도로서, 클래스 호출관계 표시 장치에서 수행된다. 여기서, 클래스 호출관계 표시 장치는 일반적인 컴퓨터 장치이므로 더 이상 상세히 설명하지 않기로 한다.
도 4 에 도시된 바와 같이, 먼저 입력된 클래스 이름을 클래스 호출관계 리스트에 저장한다(401).
다음으로, 현재 클래스에 정의된 메소드 영역의 코드 어트리뷰트를 분석하여(402), 호출받은 메소드가 존재하는지 확인한다(403).
상기 호출받은 메소드가 존재하는지 확인(403)한 결과, 호출받은 메소드가 존재하면 호출받은 메소드들의 이름을 추출하여(404), 호출받은 메소드의 이름을 메소드 호출관계 리스트(240)에 저장한 후(405), 호출받은 메소드가 속한 클래스가 현재 클래스와 동일한지를 확인한다(406).
상기 호출받은 메소드가 속한 클래스가 현재 클래스와 동일한지를 확인한 결과, 동일하다면 메소드 호출관계 리스트(240)가 널(null)인지 판단하여(407), 널(null)이면 클래스 호출관계 리스트를 출력하고(410), 널(null)이 아니면 메소드호출관계 리스트에서 다음 검색 메소드를 선택하여(408), 상기 선택된 메소드의 영역에 있는 코드 어트리뷰트 분석 과정(402)으로 넘어간다.
상기 호출받은 메소드가 속한 클래스가 현재 클래스와 동일한지를 확인한 결과, 동일하지 않다면 호출받은 메소드가 속한 클래스 이름을 클래스 호출관계 리스트에 저장한 후(409), 메소드 호출관계 리스트(240)가 널(null)인지 판단하여(407), 널(null)이면 클래스 호출관계 리스트를 출력하고(410), 널(null)이 아니면 메소드 호출관계 리스트에서 다음 검색 메소드를 선택하여(408), 상기 선택된 메소드의 영역에 있는 코드 어트리뷰트 분석 과정(402)으로 넘어간다.
상기 호출받은 메소드가 존재하는지 확인(403)한 결과, 호출받은 메소드가 존재하지 않으면 메소드 호출관계 리스트(240)가 널(null)인지 판단하여(407), 널(null)이면 클래스 호출관계 리스트를 출력하고(410), 널(null)이 아니면 메소드 호출관계 리스트에서 다음 검색 메소드를 선택하여(408), 상기 선택된 메소드의 영역에 있는 코드 어트리뷰트 분석 과정(402)으로 넘어간다.
상기 메소드 호출관계 리스트(240)가 널(null)이 될때 까지 반복 검색하여 검색이 완료되면, 클래스 호출관계 리스트에 저장된 데이터를 바탕으로 시각적인 트리구조로 된 클래스 호출관계 리스트를 출력한다(410).
또한, 트리노드로 구성된 클래스들은 중복된 노드를 피하기 위해 각 트리에 위치된 노드를 검색하여 새로운 노드가 연결될 위치를 정확하게 결정하고, 현재 자신의 상위노드가 하위노드를 가지는 경우에는 자신의 형제노드를 검색하여 새로운 노드를 연결한다.
도 5 는 본 발명에 따른 클래스 호출관계 표시 방법에 의한 표시화면의 일실시예시도로서, 사용자로부터 입력받은 클래스 파일을 기점으로하여 각 클래스들 간의 호출관계를 트리구조로 명확하게 표시(500)하고 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변환 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 자바 소스코드가 아닌 가상머신에 의해 실행되는 클래스 파일의 분석을 통해 자바 프로그램내 클래스들 사이의 호출관계를 표시함으로써 자바 소스코드에 나타난 명시적인 실행순서 뿐만 아니라, 내부에 숨겨진 자바 표준 클래스들간의 호출관계도 알 수 있고, 상기 호출관계를 통해 자바 프로그램에 대한 명확한 이해와 가상머신에 의해 실행되는 실행순서를 알 수 있게 하는 효과가 있다.

Claims (5)

  1. 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 장치에 적용되는 클래스 호출관계 표시 방법에 있어서,
    자바 클래스 파일을 분석하여 메소드 호출관계를 구하는 제 1 단계;
    상기 구한 메소드 호출관계를 통하여 클래스 호출관계를 분석하는 제 2 단계; 및
    상기 분석된 클래스 호출관계를 표시하는 제 3 단계
    를 포함하는 클래스 호출관계 표시 방법.
  2. 제 1 항에 있어서,
    상기 자바 클래스 분석 과정은,
    상기 자바 클래스 파일 중 메소드 영역을 분석하는 것을 특징으로 하는 클래스 호출관계 표시 방법.
  3. 제 2 항에 있어서,
    상기 메소드 영역 분석 과정은,
    상기 자바 클래스 파일의 코드 어트리뷰트를 검색하여 코드 어트리뷰트에 정의된 각 바이트 코드를 분석하는 것을 특징으로 하는 클래스 호출관계 표시 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 메소드 호출관계를 구하는 과정은,
    호출받은 메소드에 대해 상수 풀(constant pool)의 인덱스를 생성하고, 상기 생성된 인덱스를 통해 상수 풀에 있는 호출받은 메소드의 이름을 얻는 것을 특징으로 하는 클래스 호출관계 표시 방법.
  5. 프로세서를 구비한 클래스 호출관계 표시 장치에,
    자바 클래스 파일을 분석하여 메소드 호출관계를 구하는 제 1 기능;
    상기 구한 메소드 호출관계를 통하여 클래스 호출관계를 분석하는 제 2 기능; 및
    상기 분석된 클래스 호출관계를 표시하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020000063617A 2000-10-27 2000-10-27 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법 KR20020032889A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000063617A KR20020032889A (ko) 2000-10-27 2000-10-27 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000063617A KR20020032889A (ko) 2000-10-27 2000-10-27 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법

Publications (1)

Publication Number Publication Date
KR20020032889A true KR20020032889A (ko) 2002-05-04

Family

ID=19695868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000063617A KR20020032889A (ko) 2000-10-27 2000-10-27 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법

Country Status (1)

Country Link
KR (1) KR20020032889A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100643268B1 (ko) * 2004-01-17 2006-11-10 삼성전자주식회사 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템
KR100654428B1 (ko) * 2004-01-14 2006-12-06 삼성전자주식회사 자바 프로그램의 처리 속도를 향상시키는 시스템 및 그 방법
WO2016048070A1 (ko) * 2014-09-25 2016-03-31 주식회사 안랩 실행파일 복원 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878411A (en) * 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US6052515A (en) * 1997-06-27 2000-04-18 Sun Microsystems, Inc. System and process for providing visualization of program code internal state in an object-oriented programming language
JP2000293379A (ja) * 1999-03-16 2000-10-20 Internatl Business Mach Corp <Ibm> 呼び出しを識別する方法、システムおよび記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878411A (en) * 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US6052515A (en) * 1997-06-27 2000-04-18 Sun Microsystems, Inc. System and process for providing visualization of program code internal state in an object-oriented programming language
JP2000293379A (ja) * 1999-03-16 2000-10-20 Internatl Business Mach Corp <Ibm> 呼び出しを識別する方法、システムおよび記憶媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문(2000) *
논문(클래스의 구조를 시각적으로 표시함으로서 클래스의 전체적인 흐름과 내용을 쉽게 이해할 수 있는 자바 클래스파일 비쥬얼 분석기, 2000) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100654428B1 (ko) * 2004-01-14 2006-12-06 삼성전자주식회사 자바 프로그램의 처리 속도를 향상시키는 시스템 및 그 방법
KR100643268B1 (ko) * 2004-01-17 2006-11-10 삼성전자주식회사 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템
WO2016048070A1 (ko) * 2014-09-25 2016-03-31 주식회사 안랩 실행파일 복원 장치 및 방법
KR20160036752A (ko) * 2014-09-25 2016-04-05 주식회사 안랩 실행파일 복원 장치 및 방법

Similar Documents

Publication Publication Date Title
US6305008B1 (en) Automatic statement completion
US6781609B1 (en) Technique for flexible inclusion of information items and various media types in a user interface
US6243859B1 (en) Method of edit program codes by in time extracting and storing
US5513305A (en) System and method for documenting and displaying computer program code
US20070168909A1 (en) System And Method For Context-Sensitive Help In A Design Environment
US8429525B2 (en) Method and system for reversible design tree transformations
US8185878B2 (en) Program maintenance support device, program maintenance supporting method, and program for the same
US8397157B2 (en) Context-free grammar
JPH07182147A (ja) コンピュータプログラムを発生する方法及びシステム
JP2004502993A (ja) 訓練可能で拡張可能な自動化データ/知識翻訳機
US7043720B2 (en) Mechanism for reformatting a simple source code statement into a compound source code statement
US8701086B2 (en) Simplifying analysis of software code used in software systems
EP0961203A2 (en) A generic configuration file processing library and executable
CN110377371B (zh) 一种基于Web标签的样式表系统管理方法
CN111508562A (zh) 流程描述性语言的可视化显示方法、装置、设备和介质
JP2006202308A (ja) グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体
JPH05224949A (ja) 高水準形態抽象構文を中間形態へ変換する方法及び装置
US20160062748A1 (en) Embedded domain specific languages as first class code artifacts
US9405739B1 (en) Source code format for IDE code development with embedded objects
CN112130952A (zh) 多语言显示方法、装置、设备及产品
KR20020032889A (ko) 자바 클래스 파일 분석을 이용한 클래스 호출관계 표시 방법
JP2019074966A (ja) Sql文抽出装置、sql文抽出方法及びプログラム
JPH07182179A (ja) オブジェクト指向データベース管理装置
JP2018514843A (ja) スタイルのための宣言型カスケード再順序付け
CN112883343A (zh) 一种程序代码的混淆方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application