Abstract
Software requirement selection is to find an optimal set of requirements that gives the highest value for a release of software while keeping the cost within the budget. However, value-related dependencies among software requirements may impact the value of an optimal set. Moreover, value-related dependencies can be of varying strengths. Hence, it is important to consider both the existence and the strengths of value-related dependencies during a requirement selection. The existing selection models, however, either assume that software requirements are independent or they ignore strengths of requirement dependencies. This paper presents a cost-value optimization model that considers the impacts of value-related requirement dependencies on the value of selected requirements (optimal set). We have exploited algebraic structure of fuzzy graphs for modeling value-related requirement dependencies and their strengths. Validity and practicality of the work are verified through carrying out several simulations and studying a real world software project.
Similar content being viewed by others
Abbreviations
- NRP:
-
Next release problem
- BKP:
-
Binary knapsack problem
- AV:
-
Accumulated value
- EV:
-
Estimated value
- CV:
-
Customer value
- SDP:
-
Selection deficiency problem
- OV:
-
Overall value
- GORS:
-
Graph-oriented requirement selection
- FRIG:
-
Fuzzy requirement interdependency graph
- LOI:
-
Level of interdependency
- RAN:
-
Radio access network
- PMR:
-
Performance management traffic recording
- PMS:
-
Precious messaging system
- R :
-
Set of requirements
- \(r_i\) :
-
Requirement \(r_i \in R\)
- \(v_i\) :
-
Estimated value of \(r_i\)
- \(c_i\) :
-
Estimated cost of \(r_i\)
- b :
-
Available budget
- \(x_i\) :
-
Selection variable (\(ri_2 \in R\) is selected or not)
- D :
-
Set of explicit value-related dependencies
- O :
-
Optimal set
- \({{\tilde{O}}}\) :
-
Set of excluded requirements
- G :
-
A fuzzy requirement interdependency graph
- \(\mu\) :
-
Fuzzy membership function of requirements
- \(\rho\) :
-
Fuzzy membership function of dependencies
- \(\wedge\) :
-
Fuzzy AND operator
- \(I_i\) :
-
Impact of excluded requirements on \(r_i\)
- \(\vee\) :
-
Fuzzy OR operator
- \(\eta\) :
-
Pearl’s measure of causal strength
References
Bagnall, A.J., RaywardSmith, V.J., Whittley, I.M.: The next release problem. Inf. Softw. Technol. 43(14), 883–890 (2001)
Dahlstedt, A.G., Persson, A.: Requirements interdependencies—moulding the state of research into a research agenda. In: Ninth International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ 2003), pp. 71–80 (2003)
Barney, S., Aurum, A., Wohlin, C.: A product management challenge: creating software product value through requirements selection. J. Syst. Architect. 54(6), 576–593 (2008)
Ruhe, G.: Product Release Planning: Methods, Tools and Applications. Taylor & Francis, New York (2010)
Achimugu, P., Selamat, A., Ibrahim, R., Mahrin, M.N.: A systematic literature review of software requirements prioritization research. Inf. Softw. Technol. 56(6), 568–585 (2014)
Kukreja, N., Payyavula, S.S., Boehm, B., Padmanabhuni, S.: Value-based requirements prioritization: usage experiences. Proc. Comput. Sci. 16, 806–813 (2013)
FogelstroìĹm, N., Numminen, E., Barney, S.: Using portfolio theory to support requirements selection decisions. In: Fourth International Workshop on Software Product Management (IWSPM), Sept 2010, pp. 49–52 (2010)
Mougouei, D., Powers, D.M.W., Moeini, A.: An integer linear programming model for binary knapsack problem with dependent item values. In: Proceedings of the AI 2017: Advances in Artificial Intelligence: 30th Australasian Joint Conference, Melbourne, VIC, Australia, August 19–20, 2017, pp. 144–154. Springer International Publishing (2017)
Karlsson, J., Ryan, K.: A costvalue approach for prioritizing requirements. IEEE Softw. 14(5), 67–74 (1997)
Jung, H.-W.: Optimizing value and cost in requirements analysis. IEEE Softw. 15(4), 74–78 (1998)
Harman, M., Krinke, J., MedinaBulo, I., PalomoLozano, F., Ren, J., Yoo, S.: Exact scalable sensitivity analysis for the next release problem. ACM Trans. Softw. Eng. Methodol. 23(2), 19:1–19:31 (2014). doi:10.1145/2537853
Carlshamre, P.: Release planning in market-driven software product development: provoking an understanding. Requir. Eng. 7(3), 139–151 (2002)
van den Akker, M., Brinkkemper, S., van Diepen, G., Versendaal, J.: Flexible release planning using integer linear programming. REFSQ’05 (2005)
Mougouei, D.: Factoring requirement dependencies in software requirement selection using graphs and integer programming. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, series ASE 2016. ACM, New York, NY, USA, pp. 884–887 (2016)
Dahlstedt, Ã.G., Persson, A.: Requirements interdependencies: state of the art and future challenges. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements. Springer, Berlin (2005)
Karlsson, J., Olsson, S., Ryan, K.: Improved practical support for largescale requirements prioritising. Requir. Eng. 2(1), 51–60 (1997)
Robinson, W.N., Pawlowski, S.D., Volkov, V.: Requirements interaction management. ACM Comput. Surv. 35(2), 132190 (2003)
Mougouei, D., Powers, D.M.W., Moeini, A.: Dependency-aware software release planning. In: Proceedings of the 39th International Conference on Software Engineering Companion, series ICSE-C’17. IEEE Press, Piscataway, NJ, USA, pp. 198–200 (2017)
Wang, J., Li, J., Wang, Q., Zhang, H., Wang, H.: 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, pp. 59–76. Springer, Berlin (2012)
Brasil, M.M.A., Silva, T.G.N.d, Freitas, F.G.d, Souza, J.T.d, Cortés, M.I.: Enterprise information systems. In: Zhang, R., Zhang, J., Zhang, Z., Filipe, J., Cordeiro, J. (eds.) A Multiobjective Optimization Approach to the Software Release Planning with Undefined Number of Releases and Interdependent Requirements, vol. 102, pp. 300–314. Springer, Berlin (2012)
Zhang, Y., Harman, M., Mansouri, S.A.: The multi-objective next release problem. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation. ACM, New York, NY, USA, pp. 1129–1137 (2007)
Finkelstein, A., Harman, M., Mansouri, S.A., Ren, J., Zhang, Y.: A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making. Requir. Eng. 14(4), 231–245 (2009)
del Sagrado, J., del Aguila, I.M., Orellana, F.J.: Ant colony optimization for the next release problem: a comparative study. In: Second International Symposium on Search Based Software Engineering (SSBSE). IEEE 2010, pp. 67–76 (2010)
Li, L., Harman, M., Wu, F., Zhang, Y.: The value of exact analysis in requirements selection. IEEE Trans. Softw. Eng. 43(6), 580–596 (2017)
Veerapen, N., Ochoa, G., Harman, M., Burke, E.K.: An integer linear programming approach to the single and bi-objective next release problem. Inf. Softw. Technol. 65, 1–13 (2015)
Greer, D., Ruhe, G.: Software release planning: an evolutionary and iterative approach. Inf. Softw. Technol. 46(4), 243–253 (2004)
Ruhe, G., Greer, D.: Quantitative studies in software release planning under risk and resource constraints. In: Proceedings of the 2003 International Symposium on Empirical Software Engineering, Sept 2003, pp. 262–270 (2003)
van Valkenhoef, G., Tervonen, T., de Brock, B., Postmus, D.: Quantitative release planning in extreme programming. Inf. Softw. Technol. 53(11), 1227–1235 (2011)
Zhang, Y., Harman, M.: Search based optimization of requirements interaction management. In: Second International Symposium on Search Based Software Engineering (SSBSE). IEEE 2010, pp. 47–56 (2010)
Saliu, M.O., Ruhe, G.: 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 (2007)
Akker, J. Van Den, 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. Citeseer (2005).
Ngo-The, A., Ruhe, G.: Optimized resource allocation for software release planning. IEEE Trans. Softw. Eng. 35(1), 109–123 (2009)
Chen, W.-N., Zhang, J.: Ant colony optimization for software project scheduling and staffing with an event-based scheduler. IEEE Trans. Softw. Eng. 39(1), 1–17 (2013)
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)
van den Akker, M., Brinkkemper, S., Diepen, G., Versendaal, J.: Software product release planning through optimization and what-if analysis. Inf. Softw. Technol. 50(1), 101–111 (2008)
Li, C., van den Akker, M., Brinkkemper, S., Diepen, G.: An integrated approach for requirement selection and scheduling in software release planning. Requir. Eng. 15(4), 375–396 (2010)
Kalampakas, A., Spartalis, S., Iliadis, L., Pimenidis, E.: Fuzzy graphs: algebraic structure and syntactic recognition. Artif. Intell. Rev. 42(3), 479–490 (2014)
Zimmermann, H.-J.: Fuzzy relations and fuzzy graphs. In: Fuzzy Set Theory and Its Applications, pp. 71–91. Springer (2001)
Rosenfeld, A.: Fuzzy graphs. Fuzzy Sets Appl. 77, 95 (1975)
Mordeson, J.N.: Fuzzy mathematics. In:Davis, L.S. (ed.) Foundations of Image Understanding. Springer US, no. 628, pp. 95–125 (2001)
Korte, B., Vygen, J.: Combinatorial Optimization: Theory and Algorithms. Springer, Berlin (2006)
Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B., Natt och Dag, J.: An industrial survey of requirements interdependencies in software product release planning. In: Proceedings of Fifth IEEE International Symposium on Requirements Engineering, 2001, pp. 84–91 (2001)
Lust, T., Teghem, J.: The multiobjective multidimensional knapsack problem: a survey and a new approach. Int. Trans. Oper. Res. 19(4), 495–520 (2012)
Ruhe, G., Eberlein, A., Pfahl, D.: Trade-off analysis for requirements selection. Int. J. Softw. Eng. Knowl. Eng. 13(04), 345–366 (2003)
Sagrado, J.D., Aguila, I.M.D., Orellana, F.J.: Multi-objective ant colony optimization for requirements selection. Empir. Softw. Eng., 20(3), 577–610 (2015)
Zhang, Y., Harman, M., Lim, S.L.: Empirical evaluation of search based requirements interaction management. Inf. Softw. Technol. 55(1), 126 – 152 (2013) (special section: Best papers from the 2nd International Symposium on Search Based Software Engineering 2010)
NgoThe, A., Saliu, M.: Fuzzy structural dependency constraints in software release planning. In: The 14th IEEE International Conference on Fuzzy Systems, 2005. FUZZ’05, May 2005, pp. 442–447 (2005)
Mathew, S., Sunitha, M.: Strongest strong cycles and theta fuzzy graphs. IEEE Trans. Fuzzy Syst. 21(6), 10961104 (2013)
Mordeson, J.N., Nair, P.S.: Applications of fuzzy graphs. In: Mordeson, J.N., Nair, P.S. (eds.) Fuzzy Graphs and Fuzzy Hypergraphs. PhysicaVerlag HD, no. 46, pp. 83–133 (2000)
Zadeh, L.A.: Fyzzy sets. Inf. Comput. 8, 338353 (1965)
Klir, G.J., Folger, T.A.: Fuzzy Sets, Uncertainty, and Information. Prentice-Hall Inc., Upper Saddle River (1987)
Karlsson, J., Ryan, K.: Supporting the selection of software requirements. In: Proceedings of the 8th International Workshop on Software Specification and Design, 1996, Mar 1996, pp. 146–149 (1996)
Law, A.M., Kelton, W.D.: Simulation Modeling and Analysis, 2nd edn. McGraw-Hill Higher Education, New York (1997)
Random (Java Platform SE 7). http://docs.oracle.com/javase/7/docs/api/java/util/Random.html
Halpern, J.Y., Hitchcock, C.: Graded causation and defaults. Br. J. Philos. Sci. 66(2), 413–457 (2015). http://bjps.oxfordjournals.org/content/66/2/413.abstract
do Nascimento Ferreira, T., Araújo, A.A., Neto, A.D.B., de Souza, J.T.: Incorporating user preferences in ant colony optimization for the next release problem. Appl. Soft Comput. 49, 1283–1296 (2016)
Mougouei, D., Powers, D.M.: Dependency-aware software release planning through mining user preferences. arXiv preprint arXiv: 1702.05592 (2017)
Racheva, Z., Daneva, M., Sikkel, K., Buglione, L.: Business value is not only dollars—results from case study research on agile software projects. In: Babar, M.A., Vierimaa, M., Oivo, M. (eds.) Product Focused Software Process Improvement, Series Lecture Notes in Computer Science, Springer, Berlin, no. 6156, pp. 131–145 (2010)
Sprenger, J.: Foundations for a probabilistic theory of causal strength (2016)
Pearl, J.: Causality. Cambridge University Press, Cambridge (2009)
Janzing, D., Balduzzi, D., Grosse-Wentrup, M., Schölkopf, B., et al.: Quantifying causal influences. Ann. Stat. 41(5), 2324–2358 (2013)
Eells, E.: Probabilistic causality, vol. 1. Cambridge University Press, Cambridge (1991)
Leung, C.W.-K., Chan, S.C.-F., Chung, F.-L., Ngai, G.: A probabilistic rating inference framework for mining user preferences from reviews. World Wide Web 14(2), 187–215 (2011)
Holland, S., Ester, M., Kießling, W.: 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 (2003)
Sayyad, A.S., Menzies, T., Ammar, H.: 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, 2013, pp. 492–501 (2013)
Wu, C.-F.J.: Jackknife, bootstrap and other resampling methods in regression analysis. Ann. Stat., 1261–1295 (1986)
Macke, J.H., Berens, P., Ecker, A.S., Tolias, A.S., Bethge, M.: Generating spike trains with specified correlation coefficients. Neural Comput. 21(2), 397–423 (2009)
Funding
This research is supported by Australian Government Research Training Program Scholarship-International. Funding was provided by Flinders University.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Mougouei, D., Powers, D.M.W. Modeling and Selection of Interdependent Software Requirements Using Fuzzy Graphs. Int. J. Fuzzy Syst. 19, 1812–1828 (2017). https://doi.org/10.1007/s40815-017-0364-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s40815-017-0364-4