DOI QR코드

DOI QR Code

A Mechanism to Determine Method Location among Classes using Neural Network

신경망을 이용한 클래스 간 메소드 위치 결정 메커니즘

  • 정영애 (단국대학교 대학원 전자계산학과) ;
  • 박용범 (단국대학교 전자컴퓨터학부)
  • Published : 2006.10.30

Abstract

There have been various cohesion measurements studied considering reference relation among attributes and methods in a class. Generally, these cohesion measurement are camed 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. Tn 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.

클래스의 속성과 메소드 참조관계를 고려한 응집도 측정 방법은 다양한 형태로 연구되어 왔다 이러한 응집도의 측정 방법은 일반적으로 하나의 클래스에서 이루어진다. 단일 클래스에서 두 개의 클래스로 참조 범위를 확장하면 두 클래스 사이에 발생할 수 있는 참조관계를 알 수 있다. 본 논문에서는 메소드의 위치 결정을 위하여 신경망 학습모델을 제안하였다. 신경망은 입출력 패턴에 대한 반복학습 후, 학습 패턴에 포함되지 않았던 입력 패턴의 목적 값을 예측하고, 일반화(generalization)하는데 효과적이다. 두 개의 클래스 안의 속성과 메소드를 5개 이하로 제한하였고, 학습 벡터는 30개의 이진 값으로 구성된 입력 벡터와 메소드 위치 결정 값인 이진 목적 값으로 생성되었다. 제안된 신경망은 교차검증에서 약 95%, 테스트 데이터에 대해서는 약88%의 예측율을 보였다.

Keywords

References

  1. 고병선, 박재년, 컴포넌트의 응접성 측정, 정보처리학회 논문지 제9-D권 제4호, 613-618
  2. 박지훈, 자바 디지인 패턴과 리팩토링, 한빛미디어(주), 2003
  3. 윤청, 성공적인 소프트웨어 개발 방법론, 생능출판사, 1996
  4. 김응수, 뇌의 정보 시스템, 생능출판사
  5. 김성애, 최완규, 이성주, 객체지향 패러다임에서 서해요인에 기반한 응집도 척도, 한국정보처리학회 논문지 제7권 제11호, 2000
  6. 정영애, 박용범, 로지스틱 분석을 이용한 메소드 위치 결정 방법, 한국정보처리학회 논문지 제 12-D권 제 7호, pp.1017-1022 https://doi.org/10.3745/KIPSTD.2005.12D.7.1017
  7. Aristoklis D. Anastasiadis, George D. Magoulas, Michael N. Vrahatis, 'New globally convergent training sckeme based on the resilient propagation algorithm,' Nerocomputing 64, 2005, pp.253-270 https://doi.org/10.1016/j.neucom.2004.11.016
  8. Bindu, Mehra, 'A Critique of Cohesion Measures in the Object-Oriented paradigm,' Masters Thesis, Departrnent of Computer Science, Michigan Technological university, 1997
  9. Embley, d W. and woodfield, S. N., 'Accessing the quality of abstract data types written in Ada,' Proc of Pheonix Conf. on Computers & Comm, pp.205-213, 1987
  10. F. Simon, F. Steinbrkner, and C. Lewerentz, 'Metrics based refactoring', in Proc. European Cont. Software Maintenance and Reengineering IEEE, pp.30-38,Computer Society, 2001 https://doi.org/10.1109/.2001.914965
  11. HeungSeok Chae, YongRae Kwon, 'A Cohesion Measure for classes in Object-Oriented Systems,' Proceeding of the 5th International symposium of Software Metrics, 1998 https://doi.org/10.1109/METRIC.1998.731241
  12. James M. Bieman, Byung-Kyoo Kang, 'Cohesion and reuse in an objat-oriented paradigm,' Proc. ACM Symposium on Software Reusability (SSR-95), pp.259-262, 1995
  13. Katsuhisa Maruyama, Kenichi Shima, 'Automatic Method refactoring using weighted dependence graphs,' Proceedings of the 21st international conference on Software engineering, 1999 https://doi.org/10.1109/ICSE.1999.841013
  14. Katsuhisa Maruyama, 'Automated Method extraction refactoring by using block-based slicing', Proceedings of the 2001 symposium on Software reusability: putting software reuse in context, Vol 26, pp.236-245, 2001 https://doi.org/10.1145/375212.375233
  15. Kuyul Noh, Changki Kim, Jonggul Park and Jaeha Song, 'The Evaluation of Daikon: utilization of Daikon in the POI Data Inspection System', 4WD Team Master of Software Engineering Program School of Computer Science, Carnegie Mellon University, 2002
  16. L. M. Otto et al., 'Developing Measures of Class Cohesion for Object-Oriented Software.,' 7th Annual Oregon Workshop on Software Metrics, 1995
  17. Martin Fowler, etc, 'Refactoring Improving the Design of Existing Code', Addison Wesley, 1999
  18. Martin Riedmiller, Heinrich Braun, 'A direct adaptive method for faster backpropagation learning: the RPROP algorithm,' proceedings of the International Conference on Neural Networks, San Francisco, 1993, pp.586-591 https://doi.org/10.1109/ICNN.1993.298623
  19. Samadzadeh, M H and Khan, S. J., 'Stability Coupling and Cohesion of Object-Oriented Software Systems,' PROC, 22nd Arm. ACM Computer Science conf., pp.312-319, 1994 https://doi.org/10.1145/197530.197642
  20. Sang-Uk jeon, Joon-Sang Lee, and Doo-Hwan Bae, 'An Automated Refactoring Approach To Design Pattern-Based Program Transformations in Java Programs', In Proceedings of 9th Asia-Pacific Software Engineering Conference, Gold Coast in Austrailia, 2002 https://doi.org/10.1109/APSEC.2002.1183003
  21. Shyam R. Chridamber, Chris f. kemerer, 'Towards a Metrics Suite for Object-Oriented Design,' In Proc. OOPSLA, '91, ACM, pp.197-211, 1991 https://doi.org/10.1145/117954.117970
  22. William G. Griswold, 'Program Restructuring as an Aid to Software Maintenance PhD Thesis', Dept. of Computer Science & Engineering, University of Washington, 1991
  23. William F. Opdyke and Ralph E. Johnson, Refactoring: An aid in designing application Frameworks and evolving object-oriented systems, In Proceedings of SOOPPA '90: Symposium on Object-Oriented Programming Emphasizing Practical Applications, Sep., 1990
  24. W.F. Opdyke, 'Refactoring object-oriented frameworks Ph.D.thesis', Computer Sciences Department, University of illinois at Urbana-Champaign, 1992
  25. Yoshio Kataoka, Michael D. Ernst, William G. Griswold, David Notkin, 'Automated support for program refactoring using Invariants', Proceedings of the IEEE International Conference on Software Maintenance(ICSM'01), pp.736-743, 2001 https://doi.org/10.1109/ICSM.2001.972794