Modeling and Selection of Interdependent Software Requirements Using Fuzzy Graphs
- 84 Downloads
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.
Keywords
Software Requirement Selection Dependency FuzzyList of symbols
Acronyms
- 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
Notations
- 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
Notes
Funding
This research is supported by Australian Government Research Training Program Scholarship-International. Funding was provided by Flinders University.
References
- 1.Bagnall, A.J., RaywardSmith, V.J., Whittley, I.M.: The next release problem. Inf. Softw. Technol. 43(14), 883–890 (2001)CrossRefGoogle Scholar
- 2.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)Google Scholar
- 3.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)CrossRefGoogle Scholar
- 4.Ruhe, G.: Product Release Planning: Methods, Tools and Applications. Taylor & Francis, New York (2010)CrossRefGoogle Scholar
- 5.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)CrossRefGoogle Scholar
- 6.Kukreja, N., Payyavula, S.S., Boehm, B., Padmanabhuni, S.: Value-based requirements prioritization: usage experiences. Proc. Comput. Sci. 16, 806–813 (2013)CrossRefGoogle Scholar
- 7.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)Google Scholar
- 8.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)Google Scholar
- 9.Karlsson, J., Ryan, K.: A costvalue approach for prioritizing requirements. IEEE Softw. 14(5), 67–74 (1997)CrossRefGoogle Scholar
- 10.Jung, H.-W.: Optimizing value and cost in requirements analysis. IEEE Softw. 15(4), 74–78 (1998)MathSciNetCrossRefGoogle Scholar
- 11.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 CrossRefGoogle Scholar
- 12.Carlshamre, P.: Release planning in market-driven software product development: provoking an understanding. Requir. Eng. 7(3), 139–151 (2002)CrossRefGoogle Scholar
- 13.van den Akker, M., Brinkkemper, S., van Diepen, G., Versendaal, J.: Flexible release planning using integer linear programming. REFSQ’05 (2005)Google Scholar
- 14.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)Google Scholar
- 15.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)Google Scholar
- 16.Karlsson, J., Olsson, S., Ryan, K.: Improved practical support for largescale requirements prioritising. Requir. Eng. 2(1), 51–60 (1997)CrossRefGoogle Scholar
- 17.Robinson, W.N., Pawlowski, S.D., Volkov, V.: Requirements interaction management. ACM Comput. Surv. 35(2), 132190 (2003)CrossRefGoogle Scholar
- 18.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)Google Scholar
- 19.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)CrossRefGoogle Scholar
- 20.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)Google Scholar
- 21.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)Google Scholar
- 22.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)CrossRefGoogle Scholar
- 23.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)Google Scholar
- 24.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)Google Scholar
- 25.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)CrossRefGoogle Scholar
- 26.Greer, D., Ruhe, G.: Software release planning: an evolutionary and iterative approach. Inf. Softw. Technol. 46(4), 243–253 (2004)CrossRefGoogle Scholar
- 27.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)Google Scholar
- 28.van Valkenhoef, G., Tervonen, T., de Brock, B., Postmus, D.: Quantitative release planning in extreme programming. Inf. Softw. Technol. 53(11), 1227–1235 (2011)CrossRefGoogle Scholar
- 29.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)Google Scholar
- 30.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)Google Scholar
- 31.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).Google Scholar
- 32.Ngo-The, A., Ruhe, G.: Optimized resource allocation for software release planning. IEEE Trans. Softw. Eng. 35(1), 109–123 (2009)CrossRefGoogle Scholar
- 33.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)CrossRefGoogle Scholar
- 34.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)CrossRefGoogle Scholar
- 35.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)CrossRefGoogle Scholar
- 36.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)CrossRefGoogle Scholar
- 37.Kalampakas, A., Spartalis, S., Iliadis, L., Pimenidis, E.: Fuzzy graphs: algebraic structure and syntactic recognition. Artif. Intell. Rev. 42(3), 479–490 (2014)CrossRefGoogle Scholar
- 38.Zimmermann, H.-J.: Fuzzy relations and fuzzy graphs. In: Fuzzy Set Theory and Its Applications, pp. 71–91. Springer (2001)Google Scholar
- 39.Rosenfeld, A.: Fuzzy graphs. Fuzzy Sets Appl. 77, 95 (1975)MATHGoogle Scholar
- 40.Mordeson, J.N.: Fuzzy mathematics. In:Davis, L.S. (ed.) Foundations of Image Understanding. Springer US, no. 628, pp. 95–125 (2001)Google Scholar
- 41.Korte, B., Vygen, J.: Combinatorial Optimization: Theory and Algorithms. Springer, Berlin (2006)MATHGoogle Scholar
- 42.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)Google Scholar
- 43.Lust, T., Teghem, J.: The multiobjective multidimensional knapsack problem: a survey and a new approach. Int. Trans. Oper. Res. 19(4), 495–520 (2012)MathSciNetCrossRefMATHGoogle Scholar
- 44.Ruhe, G., Eberlein, A., Pfahl, D.: Trade-off analysis for requirements selection. Int. J. Softw. Eng. Knowl. Eng. 13(04), 345–366 (2003)CrossRefGoogle Scholar
- 45.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)CrossRefGoogle Scholar
- 46.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)Google Scholar
- 47.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)Google Scholar
- 48.Mathew, S., Sunitha, M.: Strongest strong cycles and theta fuzzy graphs. IEEE Trans. Fuzzy Syst. 21(6), 10961104 (2013)CrossRefGoogle Scholar
- 49.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)Google Scholar
- 50.Zadeh, L.A.: Fyzzy sets. Inf. Comput. 8, 338353 (1965)Google Scholar
- 51.Klir, G.J., Folger, T.A.: Fuzzy Sets, Uncertainty, and Information. Prentice-Hall Inc., Upper Saddle River (1987)MATHGoogle Scholar
- 52.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)Google Scholar
- 53.Law, A.M., Kelton, W.D.: Simulation Modeling and Analysis, 2nd edn. McGraw-Hill Higher Education, New York (1997)MATHGoogle Scholar
- 54.Random (Java Platform SE 7). http://docs.oracle.com/javase/7/docs/api/java/util/Random.html
- 55.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
- 56.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)CrossRefGoogle Scholar
- 57.Mougouei, D., Powers, D.M.: Dependency-aware software release planning through mining user preferences. arXiv preprint arXiv: 1702.05592 (2017)
- 58.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)Google Scholar
- 59.Sprenger, J.: Foundations for a probabilistic theory of causal strength (2016)Google Scholar
- 60.Pearl, J.: Causality. Cambridge University Press, Cambridge (2009)CrossRefMATHGoogle Scholar
- 61.Janzing, D., Balduzzi, D., Grosse-Wentrup, M., Schölkopf, B., et al.: Quantifying causal influences. Ann. Stat. 41(5), 2324–2358 (2013)MathSciNetCrossRefMATHGoogle Scholar
- 62.Eells, E.: Probabilistic causality, vol. 1. Cambridge University Press, Cambridge (1991)CrossRefMATHGoogle Scholar
- 63.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)CrossRefGoogle Scholar
- 64.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)Google Scholar
- 65.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)Google Scholar
- 66.Wu, C.-F.J.: Jackknife, bootstrap and other resampling methods in regression analysis. Ann. Stat., 1261–1295 (1986)Google Scholar
- 67.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)MathSciNetCrossRefMATHGoogle Scholar