Introducing Learning Mechanism for Class Responsibility Assignment Problem

Assigning responsibilities to classes is a vital task in object-oriented design, which has a great impact on the overall design of an application. However, this task is not easy for designers due to its complexity. Though many automated approaches have been developed to help designers to assign responsibilities to classes, none of them considers extracting the design knowledge (DK) about the relations between responsibilities in order to adapt designs better against design problems. To address the issue, we propose a novel Learning-based Genetic Algorithm (LGA) for the Class Responsibility Assignment (CRA) problem. In the proposed algorithm, a learning mechanism is introduced to extract DK about which responsibilities have a high probability to be assigned to the same class, and the extracted DK is employed to improve the design qualities of generated solutions. An experiment was conducted, which shows the effectiveness of the proposed approach.

[1]  Lionel C. Briand,et al.  Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms , 2010, IEEE Transactions on Software Engineering.

[2]  Marouane Kessentini,et al.  On the Use of Machine Learning and Search-Based Software Engineering for Ill-Defined Fitness Function: A Case Study on Software Refactoring , 2014, SSBSE.

[3]  Ricard V. Solé,et al.  Macroevolutionary algorithms: a new optimization method on fitness landscapes , 1999, IEEE Trans. Evol. Comput..

[4]  Márcio de Oliveira Barros,et al.  Learning from optimization: A case study with Apache Ant , 2015, Inf. Softw. Technol..

[5]  Kalina Yacef,et al.  Interestingness Measures for Associations Rules in Educational Data , 2008, EDM.

[6]  Saeed Jalili,et al.  A clustering-based model for class responsibility assignment problem in object-oriented analysis , 2014, J. Syst. Softw..

[7]  Christopher L. Simons,et al.  The influence of search components and problem characteristics in early life cycle class modelling , 2015, J. Syst. Softw..

[8]  C.J.H. Mann,et al.  Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2007 .

[9]  J. Baldwin A New Factor in Evolution , 1896, The American Naturalist.

[10]  Michele Lanza,et al.  Object-Oriented Metrics in Practice - Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2006 .

[11]  Kevin Kelly,et al.  Out of Control: The New Biology of Machines, Social Systems, and the Economic World , 1992 .

[12]  Filomena Ferrucci,et al.  A further analysis on the use of Genetic Algorithm to configure Support Vector Machines for inter-release fault prediction , 2012, SAC '12.

[13]  Emilia Mendes,et al.  Using tabu search to configure support vector regression for effort estimation , 2013, Empirical Software Engineering.

[14]  Xin Yao,et al.  An analysis of multi-objective evolutionary algorithms for training ensemble models based on different performance measures in software effort estimation , 2013, PROMISE.