A Study on the Object-Oriented Program Slicing using Module Class Dependency Graph

모듈 클래스 종속 그래프를 이용한 객체지향 프로그램 슬라이싱에 관한 연구

  • 김운용 (광운대학교 대학원 전자계산학과) ;
  • 정계동 (광운대학교 대학원 전자계산학과) ;
  • 최영근 (광운대학교 전자계산학과)
  • Published : 1999.07.01

Abstract

This paper presents the Module Class Dependency Graph for expressing the dependency relations between classes effectively. The object-oriented language is developed independently at design time, and consists of relationship between classes. Therefore we need to consider these characteristics of independence, and to express effectively the relation of classes which is existed in class hierarchy. In the System Dependence Graph and Class Dependence Graph, the relationship of classes is not expressed. To express the class relationship, we propose the Module Class Dependence Graph, and we verify the effectiveness of this method applying to object constructor, inheritance relationship and dynamic binding. Also, we presents the expressing method of parameter to identify the member data of classes. Using this Module Class Dependency Graph, we can analyze the relationship of module class correctly at design time. This method can be applied to reverse engineering, testing, visualization and other various fields to analyze system.

본 논문에서는 클래스들간의 종속관계를 효율적으로 표현하기 위한 모듈클래스 종속그래프를 제안한다. 객체 지향언어는 설계시 독립적으로 개발되어지고, 클래스들간의 관계를 형성하여 구성되어진다. 따라서 이러한 독립적인 특성을 고려하고, 클래스 계층구조에 존재하는 클래스들간의 관계를 효율적으로 표현할 필요가 존재한다. 본 논문에서는 어플리케이션에 종속적인 기존의 시스템 종속그래프와 단위 클래스를 표현하는 클래스 종속그래프에서 제시되지 않고 있는 클래스들간의 관계를 표현하기 위해 객체지향시스템의 설계단위인 모듈의 개념을 이용하여 모듈클래스들 종속그래프를 제시하고, 객체지향의 특징인 객체의 생성자, 상속관계 및 동적 바인딩 효과를 적용시켜 효율성의 검증과 이를 절차간 슬라이싱에 적용시켜 슬라이싱의 관계를 고찰한다. 또한 모듈 클래스에 존재하는 클래스의 멤버데이터들간의 구별을 가능하게 하기 위한 파라메터의 표현법을 제시한다. 이러한 모듈클래스 종속 그래프를 통해 시스템 설계시 모듈 클래스간의 관계를 보다 정확하게 분석할 수 있고, 시스템 분석에 필요한 역공학, 테스팅, 시각화와 같은 다른 응용에 폭넓게 적용될 수 있다.

Keywords