Skip to main content
Log in

Dependency-aware software release planning through mining user preferences

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Software vendors aim to find, for a release of the software, an optimal subset of features that gives the highest value while respecting the resource limitations. The value of a feature subset, however, is determined by the values of the individual features within that subset—which are specified by the preferences of users. But user preferences for some features may change in the presence or absence of others. As such, the values of certain software features may be influenced, either positively or negatively, by other features. Such influences are widely recognized and referred to in the literature as value-related dependencies among software features. Value-related dependencies impact the overall value of a software product and, therefore, need to be considered in software release planning. To achieve this, we have proposed identifying value-related dependencies by mining user preferences for software features. We integrate these dependencies into an integer programming model, that finds an optimal subset of the features for a release of a software product. We have demonstrated the practicality of our proposed approach by studying a real-world software project and simulations.

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

References

  • Alrashoud M, Hazza E, Alqahtani F, Al-Hammadi M, Abhari A, Ghoneim A (2019) Cognitive and hierarchical fuzzy inference system for generating next release planning in saas applications. IEEE Access 7:102966–102974

    Google Scholar 

  • Alrezaamiri H, Ebrahimnejad A, Motameni H (2019) Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm. Soft Comput 23(20):9979–9994. https://doi.org/10.1007/s00500-018-3553-7

    Article  Google Scholar 

  • Ameller D, Farré C, Franch X, Rufian G (2016) A survey on software release planning models. In: International conference on product-focused software process improvement. Springer, pp 48–65

  • Araújo AA, Paixao M, Yeltsin I, Dantas A, Souza J (2016) An architecture based on interactive optimization and machine learning applied to the next release problem. Autom Softw Eng 24:623–671

    Google Scholar 

  • Bagnall AJ, RaywardSmith VJ, Whittley IM (2001) The next release problem. Inf Softw Technol 43(14):883–890

    Google Scholar 

  • Baker P, Harman M, Steinhofel K, Skaliotis A (2006) Search based approaches to component selection and prioritization for the next release problem. In: Proceedings of the 22Nd IEEE international conference on software maintenance. IEEE, pp 176–185

  • Biffl S, Aurum A, Boehm B, Erdogmus H, Grünbacher P (2006) Value-based software engineering, vol 1. Springer, Berlin

    Google Scholar 

  • Boschetti MA, Golfarelli M, Rizzi S, Turricchia E (2014) A lagrangian heuristic for sprint planning in agile software development. Comput Oper Res 43:116–128

    MathSciNet  MATH  Google Scholar 

  • Brasil MMA, Silva TGNd, Freitas FGd, Souza JTd, Corts MI (2012) A multiobjective optimization approach to the software release planning with undefined number of releases and interdependent requirements. In: Zhang R, Zhang J, Zhang Z, Filipe J, Cordeiro J (eds) Enterprise information systems, vol 102. Springer, Berlin, pp 300–314

    Google Scholar 

  • Carlshamre P (2002) Release planning in market-driven software product development: Provoking an understanding. Requir Eng 7(3):139–151

    Google Scholar 

  • Carlshamre P, Sandahl K, Lindvall M, Regnell B, och Dag JN (2001) An industrial survey of requirements interdependencies in software product release planning. In: 5th IEEE international symposium on requirements engineering, 2001. Proceedings, pp 84–91

  • Chatterjee S, Maji B (2016) A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Comput 20(10):4023–4035

    Google Scholar 

  • Chen W-N, Zhang J (2013) Ant colony optimization for software project scheduling and staffing with an event-based scheduler. IEEE Trans Softw Eng 39(1):1–17

    Google Scholar 

  • Colares F, Souza J, Carmo R, Padua C, Mateus G (2009) A new approach to the software release planning. In: XXIII Brazilian symposium on software engineering, 2009. SBES ’09, pp 207–215

  • Dabbagh M, Lee SP, Parizi RM (2016) Functional and non-functional requirements prioritization: empirical evaluation of IPA, AHP-based, and HAM-based approaches. Soft Comput 20(11):4497–4520

    Google Scholar 

  • Dahlstedt AG, Persson A (2003) Requirements interdependencies—moulding the state of research into a research agenda. In: 9th international workshop on requirements engineering: foundation for software quality (REFSQ 2003), pp 71–80

  • Dahlstedt ÅG, Persson A (2005) Requirements interdependencies: state of the art and future challenges. In: Engineering and managing software requirements. Springer, pp 95–116

  • del Sagrado J, del Aguila IM, Orellana FJ (2010) Ant colony optimization for the next release problem: A comparative study. In: 2010 2nd international symposium on search based software engineering (SSBSE). IEEE, pp 67–76

  • del Sagrado J, ÁAguila IM, Orellana FJ (2011) Requirements interaction in the next release problem. In: Proceedings of the 13th annual conference companion on Genetic and evolutionary computation. ACM, pp 241–242

  • del Sagrado J, del Águila IM, Orellana FJ (2015) Multi-objective ant colony optimization for requirements selection. Empir Softw Eng 20(3):577–610

    Google Scholar 

  • do Nascimento Ferreira T, Araújo AA, Neto ADB, de Souza JT (2016) Incorporating user preferences in ant colony optimization for the next release problem. Appl Soft Comput 49:1283–1296

    Google Scholar 

  • Eells E (1991) Probabilistic causality, vol 1. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  • Ferreira TN, Vergilio SR, de Souza JT (2017) Incorporating user preferences in search-based software engineering: a systematic mapping study. Inf Softw Technol 90:55–69

    Google Scholar 

  • Finkelstein A, Harman M, Mansouri SA, Ren J, Zhang Y (2009) A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making. Requir Eng 14(4):231–245

    Google Scholar 

  • Franch X, Ruhe G (2016) Software release planning. In: Proceedings of the 38th international conference on software engineering companion. ACM, pp 894–895

  • Freitas FG, Coutinho DP, Souza JT (2011) Software next release planning approach through exact optimization. Int J Comput Appl 22(8):1–8

    Google Scholar 

  • Gomaa A, El-Shorbagy S, El-Gammal W, Magdy M, Abdelmoez W (2019) Using resampling techniques with heterogeneous stacking ensemble for mobile app stores reviews analytics. In: International conference on advanced intelligent systems and informatics. Springer, pp 831–841

  • Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253

    Google Scholar 

  • Halpern JY, Hitchcock C (2015) Graded causation and defaults. Br J Philos Sci 66(2):413–457. https://doi.org/10.1093/bjps/axt050

    Article  MathSciNet  MATH  Google Scholar 

  • Harman M, Krinke J, MedinaBulo I, PalomoLozano F, Ren J, Yoo S (2014) Exact scalable sensitivity analysis for the next release problem. ACM Trans Softw Eng Methodol 23(2):19:1–19:31

    Google Scholar 

  • Heikkila V, Jadallah A, Rautiainen K, Ruhe G (2010) Rigorous support for flexible planning of product releases-a stakeholder-centric approach and its initial evaluation. In: 2010 43rd Hawaii international conference on system sciences. IEEE, pp 1–10

  • Holland S, Ester M, Kießling W (2003) Preference mining: a novel approach on mining user preferences for personalized applications. In: European conference on principles of data mining and knowledge discovery. Springer, pp 204–216

  • Hosseinabadi AAR, Vahidi J, Saemi B, Sangaiah AK, Elhoseny M (2019) Extended genetic algorithm for solving open-shop scheduling problem. Soft Comput 23(13):5099–5116

    Google Scholar 

  • Janzing D, Balduzzi D, Grosse-Wentrup M, Schölkopf B et al (2013) Quantifying causal influences. Ann Stat 41(5):2324–2358

    MathSciNet  MATH  Google Scholar 

  • Jiang H, Zhang J, Xuan J, Ren Z, Hu Y (2010) A hybrid ACO algorithm for the next release problem. In: 2010 2nd international conference on software engineering and data mining (SEDM). IEEE, pp 166–171

  • Jung H-W (1998) Optimizing value and cost in requirements analysis. IEEE Softw 15(4):74–78

    Google Scholar 

  • Kalampakas A, Spartalis S, Iliadis L, Pimenidis E (2013) Fuzzy graphs: algebraic structure and syntactic recognition. Artif Intell Rev 1–12

  • Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74

    Google Scholar 

  • Karlsson J, Olsson S, Ryan K (1997) Improved practical support for large-scale requirements prioritising. Requir Eng 2(1):51–60

    Google Scholar 

  • Kroese DP, Chan JC et al (2014) Statistical modeling and computation. Springer, Berlin

    MATH  Google Scholar 

  • Kumari AC, Srinivas K, Gupta M (2012) Software requirements selection using quantum-inspired elitist multi-objective evolutionary algorithm. In: 2012 international conference on advances in engineering, science and management (ICAESM). IEEE, pp 782–787

  • Leung CW-K, Chan SC-F, Chung F-L, Ngai G (2011) A probabilistic rating inference framework for mining user preferences from reviews. World Wide Web 14(2):187–215

    Google Scholar 

  • Li C, Van den Akker M, Brinkkemper S, Diepen G (2010) An integrated approach for requirement selection and scheduling in software release planning. Requir Eng 15(4):375–396

    Google Scholar 

  • Li L, Harman M, Letier E, Zhang Y (2014) Robust next release problem: handling uncertainty during optimization. In: Proceedings of the 2014 annual conference on genetic and evolutionary computation. ACM, pp 1247–1254

  • Li L, Harman M, Wu F, Zhang Y (2016) The value of exact analysis in requirements selection. IEEE Trans Softw Eng 43(6):580–596

    Google Scholar 

  • Liu XF, Yen J (1996) An analytic framework for specifying and analyzing imprecise requirements. In: Proceedings of the 18th international conference on software engineering. IEEE Computer Society, pp 60–69

  • Macke JH, Berens P, Ecker AS, Tolias AS, Bethge M (2009) Generating spike trains with specified correlation coefficients. Neural Comput 21(2):397–423

    MathSciNet  MATH  Google Scholar 

  • McZara J, Sarkani S, Holzer T, Eveleigh T (2015) Software requirements prioritization and selection using linguistic tools and constraint solversa controlled experiment. Empir Softw Eng 20(6):1721–1761

    Google Scholar 

  • Mordeson JN, Nair PS (2000) Applications of fuzzy graphs. In: Mordeson JN, Nair PS (eds) Fuzzy graphs and fuzzy hypergraphs, vol 46. Physica Verlag, Heidelberg, pp 83–133

    MATH  Google Scholar 

  • Mougouei D (2016) Factoring requirement dependencies in software requirement selection using graphs and integer programming. In: 2016 31st IEEE/ACM international conference on automated software engineering (ASE). IEEE, pp 884–887

  • Mougouei D, Powers DMW (2017) Modeling and selection of interdependent software requirements using fuzzy graphs. Int J Fuzzy Syst 19(6):1812–1828

    MathSciNet  Google Scholar 

  • Mougouei D, Powers DMW, Moeini A, (2017) An integer linear programming model for binary knapsack problem with dependent item values. In: Peng W, Alahakoon D, Li X (eds) AI 2017: Advances in Artificial Intelligence. AI 2017. Lecture Notes in Computer Science, vol 10400. Springer, Cham, pp 144–154

  • Mougouei D, Perera H, Hussain W, Shams R, Whittle J (2018) Operationalizing human values in software: a research roadmap. In: Proceedings of the 2018 26th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering. ACM, pp 780–784

  • Mougouei D, Powers DM, Mougouei E (2019) A fuzzy framework for prioritization and partial selection of security requirements in software projects. J Intell Fuzzy Syst 1–17 (Preprint)

  • Nayebi M, Ruhe G (2015) Analytical product release planning. In: Bird C, Menzies T, Zimmermann T (eds) The art and science of analyzing software data. Elsevier, Amsterdam, pp 555–589

    Google Scholar 

  • Ngo-The A, Ruhe G (2008) A systematic approach for solving the wicked problem of software release planning. Soft Comput 12(1):95–108

    Google Scholar 

  • Ngo-The A, Saliu MO (2005a) Fuzzy structural dependency constraints in software release planning. In: The 14th IEEE international conference on fuzzy systems, 2005. FUZZ’05. IEEE, pp 442–447

  • Ngo-The A, Saliu MO (2005b) Measuring dependency constraint satisfaction in software release planning using dissimilarity of fuzzy graphs. In: 4th IEEE conference on cognitive informatics, 2005. (ICCI 2005). IEEE, pp 301–307

  • Pearl J (2009) Causality. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  • Perera H, Hussain W, Mougouei D, Shams RA, Nurwidyantoro A, Whittle J (2019) Towards integrating human values into software: Mapping principles and rights of GDPR to values. In: 2019 IEEE 27th international requirements engineering conference (RE). IEEE, pp 404–409

  • Pitangueira AM, Maciel RSP, Barros M (2015) Software requirements selection and prioritization using sbse approaches: a systematic review and mapping of the literature. J Syst Softw 103:267–280

    Google Scholar 

  • Pitangueira AM, Tonella P, Susi A, Maciel RS, Barros M (2016) Risk-aware multi-stakeholder next release planning using multi-objective optimization. In: International working conference on requirements engineering: foundation for software quality. Springer, pp 3–18

  • Pitangueira AM, Tonella P, Susi A, Maciel RSP, Barros M (2017) Minimizing the stakeholder dissatisfaction risk in requirement selection for next release planning. Inf Softw Technol 87:104–118

    Google Scholar 

  • Pohl K (1996) Process-centered requirements engineering. Research Studies Press, Taunton

    Google Scholar 

  • Racheva Z, Daneva M, Sikkel K, Buglione L (2010) Business value is not only dollars—results from case study research on agile software projects. In: Product-focused software process improvement. Springer, pp 131–145

  • Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):58–93

    Google Scholar 

  • Range TM, Kozlowski D, Petersen NC (2018) A shortest-path-based approach for the stochastic knapsack problem with non-decreasing expected overfilling costs. Comput Oper Res 97:111–124

    MathSciNet  MATH  Google Scholar 

  • Robinson WN, Pawlowski SD, Volkov V (2003) Requirements interaction management. ACM Comput Surv 35(2):132190

    Google Scholar 

  • Rosenfeld A (1975) Fuzzy graphs. Fuzzy Sets Appl 77:95

    MATH  Google Scholar 

  • Ruhe G, Greer D (2003) Quantitative studies in software release planning under risk and resource constraints. In: Proceedings of the 2003 international symposium on empirical software engineering, pp 262–270

  • Ruhe G, Eberlein A, Pfahl D (2003) Trade-off analysis for requirements selection. Int J Softw Eng Knowl Eng 13(04):345–366

    Google Scholar 

  • Ruhe G et al (2008) A systematic approach for solving the wicked problem of software release planning. Soft Comput 12(1):95–108

    Google Scholar 

  • Saliu O, Ruhe G (2005a) Software release planning for evolving systems. Innov Syst Softw Eng 1(2):189–204

    Google Scholar 

  • Saliu O, Ruhe G (2005b) Supporting software release planning decisions for evolving systems. In: 29th annual IEEE/NASA software engineering workshop. IEEE, pp 14–26

  • Saliu MO, Ruhe G (2007) Bi-objective release planning for evolving software systems. In: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering. ACM, pp 105–114

  • Sayyad AS, Menzies T, Ammar H (2013) On the value of user preferences in search-based software engineering: a case study in software product lines. In: 2013 35th international conference on software engineering (ICSE). IEEE, pp 492–501

  • Sprenger J (2018) Foundations for a probabilistic theory of causal strength. Philos Rev 127:371–398

    Google Scholar 

  • Subramaniyaswamy V, Logesh R (2017) Adaptive KNN based recommender system through mining of user preferences. Wirel Pers Commun 97(2):2229–2247

    Google Scholar 

  • Svahnberg M, Gorschek T, Feldt R, Torkar R, Saleem SB, Shafique MU (2010) A systematic review on strategic release planning models. Inf Softw Technol 52(3):237–248

    Google Scholar 

  • Tang A, Nicholson A, Jin Y, Han J (2007) Using bayesian belief networks for change impact analysis in architecture design. J Syst Softw 80(1):127–148

    Google Scholar 

  • Tonella P, Susi A, Palma F (2010) Using interactive GA for requirements prioritization. In: 2010 2nd international symposium on search based software engineering (SSBSE). IEEE, pp 57–66

  • Tonella P, Susi A, Palma F (2013) Interactive requirements prioritization using a genetic algorithm. Inf Softw Technol 55(1):173–187

    Google Scholar 

  • Topaloglu M, Yarkin F, Kaya T (2018) Solid waste collection system selection for smart cities based on a type-2 fuzzy multi-criteria decision technique. Soft Comput 22(15):4879–4890

    Google Scholar 

  • van den Akker M, Brinkkemper S, Diepen G, Versendaal J (2005a) Determination of the next release of a software product: an approach using integer linear programming. In: CAiSE short paper proceedings

  • van den Akker M, Brinkkemper S, van Diepen G, Versendaal J (2005b) Flexible release planning using integer linear programming, REFSQ’05

  • van den Akker M, Brinkkemper S, Diepen G, Versendaal J (2008) Software product release planning through optimization and what-if analysis. Inf Softw Technol 50(1):101–111

    Google Scholar 

  • van Valkenhoef G, Tervonen T, de Brock B, Postmus D (2011) Quantitative release planning in extreme programming. Inf Softw Technol 53(11):1227–1235

    Google Scholar 

  • Veerapen N, Ochoa G, Harman M, Burke EK (2015) An integer linear programming approach to the single and bi-objective next release problem. Inf Softw Technol 65:1–13

    Google Scholar 

  • Villarroel L, Bavota G, Russo B, Oliveto R, Di Penta M (2016) Release planning of mobile apps based on user reviews. In: Proceedings of the 38th international conference on software engineering. ACM, pp 14–24

  • Wang J, Li J, Wang Q, Zhang H, Wang H (2012) A simulation approach for impact analysis of requirement volatility considering dependency change. In: Regnell B, Damian D (eds) Requirements engineering: foundation for software quality, vol 7195. Springer, Berlin, pp 59–76

    Google Scholar 

  • Wasserman S, Faust K (1994) Social network analysis: methods and applications, vol 8. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  • Wiegers KE (2009) Software requirements. Microsoft Press, Redmond

    Google Scholar 

  • Xuan J, Jiang H, Ren Z, Luo Z (2012) Solving the large scale next release problem with a backbone-based multilevel algorithm. IEEE Trans Softw Eng 38(5):1195–1212

    Google Scholar 

  • Yan S, Ji X (2018) Portfolio selection model of oil projects under uncertain environment. Soft Comput 22(17):5725–5734

    Google Scholar 

  • Zhang Y, Harman M (2010) Search based optimization of requirements interaction management. In: 2010 2nd international symposium on search based software engineering (SSBSE). IEEE, pp 47–56

  • Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: Proceedings of the 9th annual conference on genetic and evolutionary computation. ACM, New York, pp. 1129–1137

  • Zhang Y, Harman M, Finkelstein A, Mansouri SA (2011) Comparing the performance of metaheuristics for the analysis of multi-stakeholder tradeoffs in requirements optimisation. Inf Softw Technol 53(7):761–773

    Google Scholar 

  • Zhang Y, Harman M, Lim SL (2013) Empirical evaluation of search based requirements interaction management. Inf Softw Technol 55(1):126–152 (Special section: Best papers from the 2nd International Symposium on Search Based Software Engineering 2010)

    Google Scholar 

  • Zhang H, Li J, Zhu L, Jeffery R, Liu Y, Wang Q, Li M (2014) Investigating dependencies in software requirements for change propagation analysis. Inf Softw Technol 56(1):40–53

    Google Scholar 

  • Zhang Y, Harman M, Ochoa G, Ruhe G, Brinkkemper S (2018) An empirical study of meta-and hyper-heuristic search for multi-objective release planning. ACM Trans Softw Eng Methodol 27(1):3

    Google Scholar 

  • Zhang J, Wang Y, Xie T (2019) Software feature refinement prioritization based on online user review mining. Inf Softw Technol 108:30–34

    Google Scholar 

  • Zhao K, Liu Y, Yuan Q, Chen L, Chen Z, Cong G (2016) Towards personalized maps: Mining user preferences from geo-textual data. Proc. VLDB Endow. 9(13):1545–1548

    Google Scholar 

  • Zhu H, Chen E, Xiong H, Yu K, Cao H, Tian J (2014) Mining mobile user preferences for personalized context-aware recommendation. ACM Trans Intell Syst Technol 5(4):58:1–58:27

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Davoud Mougouei.

Ethics declarations

Conflict of interest

Authors declare that they have no conflict of interest.

Ethical standard

All procedures performed in studies involving human participants were in accordance with the ethical standards of the institutional and/or national research committee and with the 1964 Helsinki Declaration and its later amendments or comparable ethical standards.

Informed consent

Informed consent was obtained from all individual participants included in the study.

Human and animal rights

This article does not contain any studies with animals performed by any of the authors.

Additional information

Communicated by V. Loia.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mougouei, D., Powers, D.M.W. Dependency-aware software release planning through mining user preferences. Soft Comput 24, 11673–11693 (2020). https://doi.org/10.1007/s00500-019-04630-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-019-04630-y

Keywords

Navigation