신경망을 이용한 클래스 간 메소드 위치 결정 메커니즘
A Mechanism to Determine Method Location among Classes using Neural Network
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
클래스의 속성과 메소드 참조관계를 고려한 응집도 측정 방법은 다양한 형태로 연구되어 왔다. 이러한 응집도의 측정 방법은 일반적으로 하나의 클래스에서 이루어진다. 단일 클래스에서 두 개의 클래스로 참조 범위를 확장하면 두 클래스 사이에 발생할 수 있는 참조관계를 알 수 있다. 본 논문에서는 메소드의 위치 결정을 위하여 신경망 학습모델을 제안하였다. 신경망은 입출력 패턴에 대한 반복학습 후, 학습 패턴에 포함되지 않았던 입력 패턴의 목적 값을 예측하고, 일반화(generalization)하는데 효과적이다. 두 개의 클래스 안의 속성과 메소드를 5개 이하로 제한하였고, 학습 벡터는 30개의 이진 값으로 구성된 입력 벡터와 메소드 위치 결정 값인 이진 목적 값으로 생성되었다. 제안된 신경망은 교차검증에서 약 95%, 테스트 데이터에 대해서는 약88%의 예측율을 보였다.
Abstract
There have been various cohesion measurements studied considering reference relation among attributes and methods in a class. Generally, these cohesion measurement are carried out in one class. If the range of reference relation considered are extended from one class to two classes, we could find out the reference relation between two classes. In this paper, we proposed a neural network to determine the method location. Neural network is effective to predict output value from input data not to be included in training and generalize after training input and output pattern repeatedly. Learning vector is generated with 30-dimensional input vector and one target binary values of method location in a constraint that there are two classes which have less than or equal to 5 attributes and methods. The result of the proposed neural network is about 95% in cross-validation and 88% in testing.
참고문헌 (25)
- 고병선, "컴포넌트의 응집성 측정", 9-D(4), pp.613~618
- 박지훈, "자바 디자인 패턴과 리팩토링" (2003), 한빛미디어㈜
- 윤청, "성공적인 소프트웨어 개발 방법론" (1996), 생능출판사
- 김응수, "뇌의 정보 시스템", 생능출판사
- 김성애, "객체지향 패러다임에서 저해요인에 기반한 응집도 척도", 7(11) (2000)
- 정영애, "로지스틱 분석을 이용한 메소드 위치 결정 방법", 12-D(7), pp.1017~1022
- Aristoklis D. Anastasiadis, "New globally convergent training sckeme based on the resilient propagation algorithm", 64, pp.253~270 (2005)
- Bindu, "A Critique of Cohesion Measures in the Object-Oriented paradigm" (1997)
- Embley, "Accessing the quality of abstract data types written in Ada", pp.205~213 (1987)
- F. Simon, "Metrics based refactoring", pp.30~38 (2001)
- HeungSeok Chae, "A Cohesion Measure for classes in Object-Oriented Systems" (1998)
- James M. Bieman, "Cohesion and reuse in an object-oriented paradigm", pp.259~262 (1995)
- Katsuhisa Maruyama, "Automatic Method refactoring using weighted dependence graphs" (1999)
- Katsuhisa Maruyama, "Automated Method extraction refactoring by using block-based slicing", 26, pp.236~245 (2001)
- Kuyul Noh, "The Evaluation of Daikon utilization of Daikon in the POI Data Inspection System" (2002)
- L. M. Otto, "Developing Measures of Class Cohesion for Object-Oriented Software" (1995)
- Martin Fowler, "‘Refactoring Improving the Design of Existing Code’" (1999), Addison Wesley
- Martin Riedmiller, "A direct adaptive method for faster backpropagation learning : the RPROP algorithm", pp.586~591 (1993)
- Samadzadeh, "Stability Coupling and Cohesion of Object-Oriented Software Systems", pp.312~319 (1994)
- Sang-Uk Jeon, "An Automated Refactoring Approach To Design Pattern-Based Program Transformations in Java Programs" (2002)
- Shyam R. Chidamber, "Towards a Metrics Suite for Object-Oriented Design", pp.197~211 (1991)
- William G. Griswold, "Program Restructuring as an Aid to Software Maintenance PhD Thesis" (1991)
- William F. Opdyke, "Refactoring : An aid in designing application Frameworks and evolving object-oriented systems"
- W.F. Opdyke, "Refactoring object-oriented frameworks Ph.D.thesis" (1992)
- Yoshio Kataoka, "Automated support for program refactoring using Invariants", pp.736~743 (2001)
