Advertisement

Automated Software Engineering

, Volume 24, Issue 3, pp 623–671 | Cite as

An Architecture based on interactive optimization and machine learning applied to the next release problem

  • Allysson Allex Araújo
  • Matheus Paixao
  • Italo Yeltsin
  • Altino Dantas
  • Jerffeson Souza
Article

Abstract

The next release problem (NRP) consists of selecting which requirements will be implemented in the next release of a software system. For many search based software engineering approaches to the NRP, there is still a lack of capability to efficiently incorporate human experience and preferences in the search process. Therefore, this paper proposes an architecture to deal with this issue, where the decision maker (DM) and his/her tacit assessments are taken into account during the solutions evaluations alongside the interactive genetic algorithm. Furthermore, a learning model is employed to avoid an overwhelming number of interactions. An empirical study involving software engineer practitioners, different instances, and different machine learning techniques was performed to assess the feasibility of the architecture to incorporate human knowledge in the overall optimization process. Obtained results indicate the architecture can assist the DM in selecting a set of requirements that properly incorporate his/her expertise, while optimizing other explicit measurable aspects equally important to the next release planning. On a scale of 0 (very ineffective) to 5 (very effective), all participants found the experience of interactively selecting the requirements using the approach as a 4 (effective).

Keywords

Next release problem Interactive optimization Machine learning Search based software engineering 

Notes

Acknowledgments

The authors would like to thank the editorial staff and the anonymous reviewers for their professional and constructive comments, the participants of the experiment for their availability and, finally, the members of the Optimization in Software Engineering Group of the State University of Ceará.

References

  1. Aljawawdeh, H.J., Simons, C.L., Odeh, M.: Metaheuristic design pattern: Preference. In: Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference, pp. 1257–1260. ACM (2015)Google Scholar
  2. Araújo, A.A., Paixão, M.H.E.: Machine learning for user modeling in an interactive genetic algorithm for the next release problem. In: Proceedings of the 6th International Symposium on Search-Based Software Engineering (SSBSE ’14), vol. 8636, pp. 228–233. Springer, Fortaleza, Brazil (2014). doi: 10.1007/978-3-319-09940-8_16
  3. Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Test. Verif. Reliab. 24(3), 219–250 (2014)CrossRefGoogle Scholar
  4. Arcuri, A., Briand, L.C.: A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE ’11), pp. 1–10. IEEE, Honolulu, HI, USA (2011). doi: 10.1145/1985793.1985795
  5. Arcuri, A., Fraser, G.: On parameter tuning in search based software engineering. In: Proceedings of the 3rd International Symposium on Search Based Software Engineering (SSBSE ’11), vol. 6956, pp. 33–47. Springer, Szeged, Hungary (2011). doi: 10.1007/978-3-642-23716-4_6
  6. Bagnall, A.J., Rayward-Smith, V.J., Whittley, I.M.: The next release problem. Inf. Softw. Technol. 43(14), 883–890 (2001). doi: 10.1016/S0950-5849(01)00194-X CrossRefGoogle Scholar
  7. Baker, P., Harman, M., Steinhöfel, K., Skaliotis, A.: Search based approaches to component selection and prioritization for the next release problem. In: Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM ’06), pp. 176–185. IEEE, Philadelphia, Pennsylvania (2006). doi: 10.1109/ICSM.2006.56
  8. Bavota, G., Carnevale, F., Lucia, A.D., Penta, M.D., Oliveto, R.: Putting the developer in-the-loop: An interactive ga for software re-modularization. In: Proceedings of the 4th International Symposium on Search Based Software Engineering (SSBSE ’12), vol. 7515, pp. 75–89. Springer, Riva del Garda, Italy (2012). doi: 10.1007/978-3-642-33119-0_7
  9. Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B., et al.: An industrial survey of requirements interdependencies in software product release planning. In: Proceedings Fifth IEEE International Symposium on Requirements Engineering, 2001, pp. 84–91. IEEE (2001)Google Scholar
  10. Cho, S.B.: Towards creative evolutionary systems with interactive genetic algorithm. Appl. Intell. 16(2), 129–138 (2002)CrossRefMATHGoogle Scholar
  11. Dantas, A., Yeltsin, I., Araújo, A.A., Souza, J.: Interactive software release planning with preferences base. In: Proceedings of the 7th International Symposium on Search-Based Software Engineering (SSBSE ’15), pp. 341–346. Springer, Bergamo, Italy (2015). doi: 10.1007/978-3-319-22183-0_32
  12. de Barros, M.O, Neto, A.C.D.: A survey of empirical investigations on ssbse papers. In: Proceedings of the 3rd International Symposium on Search Based Software Engineering (SSBSE ’11), vol. 6956, pp. 268–268. Springer, Szeged, Hungary (2011). doi: 10.1007/978-3-642-23716-4_24
  13. do Nascimento Ferreira, T., de Souza, J.T.: An aco approach for the next release problem with dependency among requirements. In: Proceedings of the 3rd Brazilian Workshop on Search-Based Software Engineering (WESB ’12). Natal, RN, Brazil (2012)Google Scholar
  14. del Sagrado, J., del Águila, I.M., Orellana, F.J.: Ant colony optimization for the next release problem—a comparative study. In: Proceedings of the 2nd International Symposium on Search Based Software Engineering (SSBSE ’10), pp. 67–76. IEEE, Benevento, Italy (2010). doi: 10.1109/SSBSE.2010.18
  15. Ferrucci, F., Harman, M., Sarro, F.: Search-based software project management. In: Software Project Management in a Changing World, pp. 373–399. Springer (2014). doi: 10.1007/978-3-642-55035-5_15
  16. Ghannem, A., Boussaidi, G.E., Kessentini, M.: Model refactoring using interactive genetic algorithm. In: Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE ’13), vol. 8084, pp. 96–110. Springer, St. Petersburg, Russia (2013). doi: 10.1007/978-3-642-39742-4_9
  17. Glass, R.L.: Facts and Fallacies of Software Engineering. Addison-Wesley Professional, Boston (2002)Google Scholar
  18. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I.H.: The weka data mining software: an update. SIGKDD Explor. Newsl. 11(1), 10–18 (2009). doi: 10.1145/1656274.1656278
  19. Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques. Elsevier, Amsterdam (2011)MATHGoogle Scholar
  20. Harman, M.: The current state and future of search based software engineering. In: Proceedings of International Conference on Software Engineering / Future of Software Engineering 2007 (ICSE/FOSE ’07), pp. 342–357. IEEE, Minneapolis, Minnesota, USA (2007). doi: 10.1109/FOSE.2007.29
  21. Harman, M.: Search based software engineering for program comprehension. In: Proceedings of the 15th IEEE International Conference on Program Comprehension (ICPC ’07), pp. 3–13. IEEE, Banff, Alberta, Canada (2007). doi: 10.1109/ICPC.2007.35
  22. Harman, M., Clark, J.A.: Metrics are fitness functions too. In: Proceedings of the 10th IEEE International Symposium on Software Metrics (METRICS ’04), pp. 58–69. IEEE, Chicago, USA (2004). doi: 10.1109/METRIC.2004.1357891
  23. Harman, M., McMinn, P., de Souza, J.T., Yoo, S.: Search based software engineering: techniques, taxonomy, tutorial. Empir. Softw. Eng. Verif. 7007, 1–59 (2012). doi: 10.1007/978-3-642-25231-0_1 Google Scholar
  24. Haykin, S.S.: Redes Neurais. Bookman, Porto Alegre (2001)Google Scholar
  25. Hsu, F.C., Huang, P.: Providing an appropriate search space to solve the fatigue problem in interactive evolutionary computation. New Gener. Comput. 23(2), 115–127 (2005)CrossRefGoogle Scholar
  26. Jiang, H., Zhang, J., Xuan, J., Re, Z., Hu, Y.: A hybrid aco algorithm for the next release problem. In: Proceedings of the 2nd International Conference on Software Engineering and Data Mining (SEDM ’10), pp. 166–171. IEEE, Chengdu, China (2010). http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5542931
  27. Kamalian, R., Yeh, E., Zhang, Y., Agogino, A.M., Takagi, H.: Reducing human fatigue in interactive evolutionary computation through fuzzy systems and machine learning systems. In: 2006 IEEE International Conference on Fuzzy Systems, pp. 678–684. IEEE (2006)Google Scholar
  28. Karim, M.R., Ruhe, G.: Bi-objective genetic search for release planning in support of themes. In: Proceedings of the 6th International Symposium on Search-Based Software Engineering (SSBSE ’14), vol. 8636, pp. 123–137. Springer, Fortaleza, Brazil (2014). doi: 10.1007/978-3-319-09940-8_9
  29. Marculescu, B., Feldt, R., Torkar, R.: A concept for an interactive search-based software testing system. In: Proceedings of the 4th International Symposium on Search Based Software Engineering (SSBSE ’12), vol. 7515, pp. 273–278. Springer, Riva del Garda, Italy (2012). doi: 10.1007/978-3-642-33119-0_21
  30. Marculescu, B., Feldt, R., Torkar, R.: Objective re-weighting to guide an interactive search based software testing system. In: Proceedings of the 12th International Conference on Machine Learning and Applications (ICMLA ’13), pp. 102–107. IEEE, Miami, Florida, USA (2013). doi: 10.1109/ICMLA.2013.113
  31. Marculescu, B., Feldt, R., Torkar, R., Poulding, S.: An initial industrial evaluation of interactive search-based testing for embedded software. Appl. Soft Comput. 29, 26–39 (2015). doi: 10.1016/j.asoc.2014.12.025 CrossRefGoogle Scholar
  32. Marculescu, B., Poulding, S., Feldt, R., Petersen, K., Torkar, R.: Tester interactivity makes a difference in search-based software testing: A controlled experiment. arXiv preprint arXiv:1512.04812 (2015)
  33. Miettinen, K.: Nonlinear Multiobjective Optimization, vol. 12. Springer, Norwell (1999)MATHGoogle Scholar
  34. Miettinen, K., Hakanen, J., Podkopaev, D.: Interactive nonlinear multiobjective optimization methods. In: Multiple Criteria Decision Analysis, pp. 927–976. Springer (2016)Google Scholar
  35. Mitchell, T.M.: Machine Learning, 1st edn. McGraw-Hill Inc, New York (1997)MATHGoogle Scholar
  36. Palit, A.K., Popovic, D.: Computational intelligence in time series forecasting. Theory Eng. Appl. (2006). doi: 10.1007/1-84628-184-9
  37. Parmee, I., Hall, A., Miles, J., Noyes, J., Simons, C., et al.: Discovery in design: Developing a people-centred computational approach. In: DS 36: Proceedings DESIGN 2006, the 9th International Design Conference, Dubrovnik, Croatia (2006)Google Scholar
  38. Piegat, A., Sałabun, W.: Nonlinearity of human multi-criteria in decision-making. J. Theor. Appl. Comput. Sci. 6(3), 36–49 (2012)Google Scholar
  39. Pitangueira, A.M.: Incorporating preferences from multiple stakeholders in software requirements selection an interactive search-based approach. In: 2015 IEEE 23rd International Requirements Engineering Conference (RE), pp. 382–387. IEEE (2015)Google Scholar
  40. Pitangueira, A.M., Maciel, R.S.P., de Oliveira Barros, M.: Software requirements selection and prioritization using sbse approaches: a systematic review and mapping of the literature. J. Syst. Softw. 103, 267–280 (2015). doi: 10.1016/j.jss.2014.09.038 CrossRefGoogle Scholar
  41. R-Project: http://www.r-project.org/ (2014). Accessed Apr 2016
  42. Rousseeuw, P.J.: Least median of squares regression. J. Am. Stat. Assoc. 79(388), 871–880 (1984)MathSciNetCrossRefMATHGoogle Scholar
  43. Schachter, D.L.: Implicit memory: history and current status. J. Exp. Psychol. 13(3), 501–518 (1987)Google Scholar
  44. Semet, Y.: Interactive evolutionary computation: a survey of existing theory. University of Illinois, (2002)Google Scholar
  45. Shackelford, M.: Implementation issues for an interactive evolutionary computation system. In: Proceedings of the 9th annual conference companion on Genetic and evolutionary computation, pp. 2933–2936. ACM (2007)Google Scholar
  46. Shackelford, M., Corne, D.: A technique for evaluation of interactive evolutionary systems. In: Adaptive Computing in Design and Manufacture VI, pp. 197–208. Springer (2004)Google Scholar
  47. Simons, C.: Interactive evolutionary computing in early lifecycle software engineering design. Ph.D. thesis, University of the West of England (2011)Google Scholar
  48. Simons, C.L., Parmee, I.C.: Dynamic parameter control of interactive local search in uml software design. In: 2010 IEEE International Conference on Systems Man and Cybernetics (SMC), pp. 3397–3404. IEEE (2010)Google Scholar
  49. Simons, C.L., Parmee, I.C.: Elegant object-oriented software design via interactive, evolutionary computation. IEEE Trans. Syst. Man Cybern. Part C 42(6), 1797–1805 (2012). doi: 10.1109/TSMCC.2012.2225103 CrossRefGoogle Scholar
  50. Simons, C.L., Parmee, I.C., Gwynllyw, R.: Interactive, evolutionary search in upstream object-oriented class design. IEEE Trans. Softw. Eng. 36(6), 798–816 (2010). doi: 10.1109/TSE.2010.34 CrossRefGoogle Scholar
  51. Simons, C.L., Smith, J.: A comparison of meta-heuristic search for interactive software design. Soft Comput. 17(11), 2147–2162 (2013). doi: 10.1007/s00500-013-1039-1 CrossRefGoogle Scholar
  52. Simons, C.L., Smith, J., White, P.: Interactive ant colony optimization (iaco) for early lifecycle software design. Swarm Intell. 8(2), 139–157 (2014)CrossRefGoogle Scholar
  53. Simons, C.L., Smith, J., White, P.: Interactive ant colony optimization (iaco) for early lifecycle software design. Swarm Intell. 8(2), 139–157 (2014). doi: 10.1007/s11721-014-0094-2 CrossRefGoogle Scholar
  54. Takagi, H.: Interactive evolutionary computation: System optimization based on human subjective evaluation. In: IEEE International Conference on Intelligent Engineering Systems (INES’98), pp. 17–19 (1998)Google Scholar
  55. Takagi, H.: Interactive evolutionary computation: fusion of the capabilities of ec optimization and human evaluation. Proc. IEEE 89(9), 1275–1296 (2001)CrossRefGoogle Scholar
  56. Tonella, P., Susi, A., Palma, F.: Using interactive ga for requirements prioritization. In: Proceedings of the 2nd International Symposium on Search Based Software Engineering (SSBSE ’10), pp. 57–66. IEEE, Benevento, Italy (2010). doi: 10.1109/SSBSE.2010.17
  57. Tonella, P., Susi, A., Palma, F.: Interactive requirements prioritization using a genetic algorithm. Inf. Softw. Technol. 55(1), 173–187 (2013). doi: 10.1016/j.infsof.2012.07.003 CrossRefGoogle Scholar
  58. van den Akker, J., Brinkkemper, S., Diepen, G., Versendaal, J.: Determination of the next release of a software product: an approach using integer linear programming. In: Proceeding of the 11th International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ ’05). Porto, Portugal (2005). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.85.27%95
  59. Wang, S., Wang, X., Takagi, H.: User fatigue reduction by an absolute rating data-trained predictor in IEC. In: IEEE Congress on Evolutionary Computation, 2006. CEC 2006, pp. 2195–2200. IEEE (2006)Google Scholar
  60. Witten, I.H., Frank, E.: Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, Amsterdam (2005)MATHGoogle Scholar
  61. Xuan, J., Jiang, H., Ren, Z., Luo, Z.: Solving the large scale next release problem with a backbone based multilevel algorithm. IEEE Trans. Softw. Eng. 38(5), 1195–1212 (2012). doi: 10.1109/TSE.2011.92 CrossRefGoogle Scholar
  62. Zhang, D., Tsai, J.J.: Machine learning and software engineering. Softw. Qual. J. 11(2), 87–119 (2003)CrossRefGoogle Scholar
  63. Zhang, Y., Finkelstein, A., Harman, M.: Search based requirements optimisation: existing work and challenges. In: Proceedings of the 14th International Working Conference, Requirements Engineering: Foundation for Software Quality (RefsQ ’08), vol. 5025, pp. 88–94. Springer, Montpellier, France (2008). doi: 10.1007/978-3-540-69062-7_8

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Allysson Allex Araújo
    • 1
  • Matheus Paixao
    • 2
  • Italo Yeltsin
    • 1
  • Altino Dantas
    • 1
  • Jerffeson Souza
    • 1
  1. 1.Optimization in Software Engineering GroupState University of CearáFortalezaBrazil
  2. 2.CREST CentreUniversity College LondonLondonUK

Personalised recommendations