C++ Class Restructuring Using the Neural Networks

  • Kim, Kwang-Baek (Computer Engineering Department, University of Silla) ;
  • Jun, Bong-Gi (Computer and Information Engineering Division, University of Sill) ;
  • Kim, Young-Ju (Computer Engineering Department, University of Silla)
  • Published : 2003.09.01


Classes are apt to include useless codes and inadequate inheritance relationship between them when they are being updated, inserted and deleted during the evolution process of object-oriented software, leading to lots of errors. Conventional class restructuring methods degrade the effectiveness of reusability since they go with preprocesses such as dependency analysis and estimation of class cohesion and run statically. In this paper, we propose a new C++ class-restructuring algorithm that does not require those preprocesses and runs dynamically by improving ART learning algorithm in the artificial neural networks.


C++ Class;ART;Software Restructuring;Object Oriented Program


  1. Gianluigi Caldiera and Victor R. Basili, 'Identifying and Qualifying Reusable Software Component.' IEEE Software, Vol.8, No.2, pp.61-72, 1991 https://doi.org/10.1109/52.300038
  2. David W. Embley and Scott N. Woodfield, 'Assessing the Quality of Abstract Data Types Written in Ada.,' Proc. of International Conference on Software Engineering, 1988
  3. Karl Michael Bieman, 'Measuring Software Data Dependency Complexity,' PH. D. Thesis, Univ. of Louisiana, 1984
  4. Lionel Briand et aI., 'Defining and Validating HighLevel Design Metrics,' Technical report, Univ. of Myryland, 1994
  5. Synder, 'Encapsulation and Inheritance in Oject-Oriented Programming Language,' Proc. of OOPSLA, 1986
  6. Robert S. Arnold. 'Software Restructuring,' IEEE Software. Vol.77, No.4, pp.607-617, 1989
  7. T, K. Kim and K. B. Kim, 'The Recognition of Student Identification Card based on Improved ART Algorithm and Educational Matters Administration System on The Web,' Journal of Korea Association of Small Business Innovation Research, Vol. 3, No. 2, pp.129-128, 2003
  8. Ralph E. Johnson and Brian Foote, 'Designing Reusable Classes,' Journal of Object-Oriented Programming, Jun-Jul, 1996
  9. E. Casais, 'Managing Class Evolution in Object-Oriented Systems,' Technical report, University of Geneva, 1990
  10. ElIot J. Chikofsky and James H.Cross II, 'Reverse Engineering and Design Recovery: A Taxonomy,' IEEE Software, Vol.7, No.1, pp.13-17, 1990 https://doi.org/10.1109/52.43044
  11. G. A. Carpenter, S. Grossberg and J. H. Reynolds, 'ARTMAP : supervised real-time learning and classification of nonstationary data by a selforganizing neural network,' Neural Networks, Vol. 4, pp.565-588, 1991 https://doi.org/10.1016/0893-6080(91)90012-T