Introducing Learning Mechanism for Class Responsibility Assignment Problem

  • Yongrui Xu
  • Peng LiangEmail author
  • Muhammad Ali Babar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9275)


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.


CRA problem Data mining Genetic algorithm The Baldwin effect 


  1. 1.
    Bowman, M., Briand, L.C., Labiche, Y.: Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms. IEEE Trans. Softw. Eng. 36(6), 817–837 (2010)CrossRefGoogle Scholar
  2. 2.
    Masoud, H., Jalili, S.: A clustering-based model for class responsibility assignment problem in object-oriented analysis. J. Syst. Softw. 93(7), 110–131 (2014)CrossRefGoogle Scholar
  3. 3.
    Smith, J.E., Simons, C.L.: The influence of search components and problem characteristics in early life cycle class modelling. J. Syst. Softw. 103(5), 440–451 (2015)CrossRefGoogle Scholar
  4. 4.
    Lanza, M., Marinescu, R.: Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems, 1st edn. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  5. 5.
    de Oliveira, M., de Almeida, F., Horta, G.: Learning from optimization: a case study with apache ant. Inf. Softw. Technol. 57(1), 684–704 (2015)Google Scholar
  6. 6.
    Kelly, K.: Out of Control: The New Biology of Machines, Social Systems and the Economic World, 1st edn. Basic Books, New York (1995)Google Scholar
  7. 7.
    Baldwin, J.M.: A new factor in evolution. Am. Nat. 30(354), 441–451 (1896)CrossRefGoogle Scholar
  8. 8.
    Merceron, A., Yacef, K.: Interestingness measures for association rules in educational data. In: Educational Data Mining, pp. 57–66 (2008)Google Scholar
  9. 9.
  10. 10.
    Marín, J., Solé, R.V.: Macroevolutionary algorithms: a new optimization method on fitness landscapes. IEEE Trans. Evol. Comput. 3(4), 272–286 (1999)CrossRefGoogle Scholar
  11. 11.
    Corazza, A., Di Martino, S., Ferrucci, F., Gravino, C., Sarro, F., Mendes, E.: Using tabu search to configure support vector regression for effort estimation. Empir. Softw. Eng. 18(3), 506–546 (2013)CrossRefGoogle Scholar
  12. 12.
    Amal, B., Kessentini, M., Bechikh, S., Dea, J., Said, L.B.: On the use of machine learning and search-based software engineering for Ill-defined fitness function: a case study on software refactoring. In: Le Goues, C., Yoo, S. (eds.) SSBSE 2014. LNCS, vol. 8636, pp. 31–45. Springer, Heidelberg (2014)Google Scholar
  13. 13.
    Minku, L., Yao, X.: An analysis of multi-objective evolutionary algorithms for training ensemble models based on different performance measures in software effort estimation. In: PROMISE 2013, Article No. 8 (2013)Google Scholar
  14. 14.
    Sarro, F., Di Martino, S., Ferrucci, F., Gravino, C.: A further analysis on the use of genetic algorithm to configure support vector machines for inter-release fault prediction. In: ACM SAC 2012, pp. 1215–1220 (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.State Key Lab of Software EngineeringWuhan UniversityWuhanChina
  2. 2.School of Computer ScienceThe University of AdelaideAdelaideAustralia

Personalised recommendations