Skip to main content

Advertisement

Log in

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

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. http://goes.uece.br/allyssonaraujo/architecture4inrp.

  2. http://goes.uece.br/allyssonaraujo/architecture4inrp.

References

  • 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)

  • 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

  • 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)

    Article  Google Scholar 

  • 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

  • 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

  • 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

    Article  Google Scholar 

  • 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

  • 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

  • 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)

  • Cho, S.B.: Towards creative evolutionary systems with interactive genetic algorithm. Appl. Intell. 16(2), 129–138 (2002)

    Article  MATH  Google Scholar 

  • 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

  • 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

  • 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)

  • 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

  • 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

  • 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

  • Glass, R.L.: Facts and Fallacies of Software Engineering. Addison-Wesley Professional, Boston (2002)

    Google Scholar 

  • 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

  • Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques. Elsevier, Amsterdam (2011)

    MATH  Google Scholar 

  • 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

  • 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

  • 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

  • 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 

  • Haykin, S.S.: Redes Neurais. Bookman, Porto Alegre (2001)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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

  • 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)

  • 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

  • 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

  • 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

  • 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

    Article  Google Scholar 

  • 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)

  • Miettinen, K.: Nonlinear Multiobjective Optimization, vol. 12. Springer, Norwell (1999)

    MATH  Google Scholar 

  • Miettinen, K., Hakanen, J., Podkopaev, D.: Interactive nonlinear multiobjective optimization methods. In: Multiple Criteria Decision Analysis, pp. 927–976. Springer (2016)

  • Mitchell, T.M.: Machine Learning, 1st edn. McGraw-Hill Inc, New York (1997)

    MATH  Google Scholar 

  • Palit, A.K., Popovic, D.: Computational intelligence in time series forecasting. Theory Eng. Appl. (2006). doi:10.1007/1-84628-184-9

  • 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)

  • 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 

  • 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)

  • 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

    Article  Google Scholar 

  • R-Project: http://www.r-project.org/ (2014). Accessed Apr 2016

  • Rousseeuw, P.J.: Least median of squares regression. J. Am. Stat. Assoc. 79(388), 871–880 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  • Schachter, D.L.: Implicit memory: history and current status. J. Exp. Psychol. 13(3), 501–518 (1987)

    Google Scholar 

  • Semet, Y.: Interactive evolutionary computation: a survey of existing theory. University of Illinois, (2002)

  • 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)

  • 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)

  • Simons, C.: Interactive evolutionary computing in early lifecycle software engineering design. Ph.D. thesis, University of the West of England (2011)

  • 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)

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Simons, C.L., Smith, J., White, P.: Interactive ant colony optimization (iaco) for early lifecycle software design. Swarm Intell. 8(2), 139–157 (2014)

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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)

  • Takagi, H.: Interactive evolutionary computation: fusion of the capabilities of ec optimization and human evaluation. Proc. IEEE 89(9), 1275–1296 (2001)

    Article  Google Scholar 

  • 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

  • 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

    Article  Google Scholar 

  • 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

  • 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)

  • Witten, I.H., Frank, E.: Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, Amsterdam (2005)

    MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Zhang, D., Tsai, J.J.: Machine learning and software engineering. Softw. Qual. J. 11(2), 87–119 (2003)

    Article  Google Scholar 

  • 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

Download references

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á.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Allysson Allex Araújo.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Araújo, A.A., Paixao, M., Yeltsin, I. et al. An Architecture based on interactive optimization and machine learning applied to the next release problem. Autom Softw Eng 24, 623–671 (2017). https://doi.org/10.1007/s10515-016-0200-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-016-0200-3

Keywords

Navigation