DOI QR코드

DOI QR Code

An Approach to decide the location of a method using the logistic analysis

로지스틱 분석을 이용한 메소드 위치 결정 방법

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

Abstract

There are many changes in the software requirements during the whole software life cycle. These changes require modification of the software, and it is important to keep software quality and stability while we are modifying the software. Refactoring is one of the technology to keep software quality and stability during the software modification; there are many researches related to automatic refactoring. In this paper, we propose three factors for Move Method which is one of the refactoring technique. We applied binomial logistic analysis to data which were extracted from sample program by each factor. The result of this process was very close to the result of manual analysis by program experts. Furthermore, we found that these factors have major roll to determine Position of a method, and these factors can be used as a basis of finding optimal position of a method.

소프트웨어의 요구사항 변경은 소프트웨어의 생명주기 전반에 걸쳐 발생한다. 이러한 변경은 소프트웨어의 수정을 요구하며, 소프트웨어 수정시 소프트웨어의 품질과 안정성을 향상시키는 것은 중요한 문제이다. 리팩토링은 소프트웨어의 품질과 안정성을 보장하면서 소프트웨어를 수정하는 기술이다. 따라서 리팩토링의 자동화에 대하여 다양한 연구가 이루어지고 있다. 본 논문에서는 무브 메소드(Move Method)의 적용여부를 결정지을 수 있는 세 가지 요인을 정의하였다. 정의된 요인에 의해 데이터를 샘플 프로그램에서 추출하였고, 추출된 데이터에 이진 로지스틱 회귀분석을 적용하였다. 이진 로지스틱 회귀분석을 통하여 얻은 무브 메소드 적용 여부에 대한 추측결과는 숙련된 프로그래머들의 수동분석 결과와 상당부분 일치하였다 더불어, 각 요인들은 프로그램 내에서 메소드의 위치를 결정하는데 중요하게 작용하며, 메소드의 최적 위치를 결정짓는 기준으로써 사용될 수 있음을 밝혔다.

Keywords

References

  1. 박지훈, '자바 디자인 패턴과 리팩토링', 한빛미디어(주), 2003
  2. 성웅현, '응용 로지스틱 회귀분석', 도서출판 탐진, 2001
  3. F. Simon, F. Steinbri.ikner, and C. Lewere- ntz, 'Metrics based refactoring', in Proc. European Conf. Software Maintenance and Reengineering IEEE, pp.30-38, Computer Society, 2001 https://doi.org/10.1109/.2001.914965
  4. Katsuhisa Maruyama, Ken-ichi 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
  5. 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
  6. 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
  7. Martin Fowler, etc, 'Refactoring Improving the Design of Existing Code', Addison Wesley, 1999
  8. Sang-Uk Jeon, 'An Approach to Automatically Identifying Design Structure for Applying Design Pattern', M.S. thesis of KAIST, 2003
  9. 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
  10. Stefan Roock , Andreas Havenstein, 'Refactoring Tags for automatic refactoring of framework dependent applications', XP2002, 2002
  11. William G. Griswold, 'Program Restruct- uring as an Aid to Software Maintenance PhD Thesis', Dept. of Computer Science & Engineering, University of Washington, 1991
  12. 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
  13. W.F. Opdyke, 'Refactoring object-oriented frameworks Ph.D.thesis', Computer Sciences Department, University of lllinois at Ur bana-Champaign, 1992
  14. 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