Prioritizing interdependent software requirements using tensor and fuzzy graphs

Prioritizing interdependent software requirements using tensor and fuzzy graphs

Owing to the special stance of prioritizing tasks in requirements engineering processes, and as the requirements are not independent in nature, considering their dependencies is essential during the prioritizing process. Althoughdifferent classifications of dependency types among requirements exist, only a few approaches in the prioritization processconsider such valuable data (dependency among requirements). To achieve a practical prioritization, this study proposesa method based on the effects of the requirement dependencies (increase/decrease cost of) on the value of prioritizationprovided by the tensor concept. Since the strengths of dependencies are also influential factors in the act of prioritization,the algebraic structure of fuzzy graphs is used to model the requirement dependencies and their strengths. Moreover,a weighted page rank algorithm based on the fuzzy concept is provided to determine the final dependency strength ofthe dependent requirements of the fuzzy graph. To evaluate the proposed approach, a controlled experiment is also conducted. The proposed approach is compared with an analytic hierarchy process-based approach, TOPSIS, and EVOLVEin the experiment. The results analysis demonstrates that our approach is less time-consuming, much easier to use, andhighly accurate.

___

  • [1] da Silva FQ, Santos AL, Soares S, França ACC, Monteiro CV et al. Six years of systematic literature reviews in software engineering: an updated tertiary study. Information and Software Technology 2011; 53 (9): 899-913. doi: 10.1016/j.infsof.2011.04.004
  • [2] Wiegers K, Beatty J. Software Requirements. Seattle, WA, USA: Microsoft Press, 2013.
  • [3] Karlsson J, Ryan K. A cost-value approach for prioritizing requirements. IEEE Software 1997; 14 (5): 67-74. doi: 10.1109/52.605933
  • [4] Pohl K. Requirements Engineering: Fundamentals, Principles, and Techniques. Berlin, Germany: Springer-Verlag, 2010.
  • [5] Perini A, Susi A, Avesani P. A machine learning approach to software requirements prioritization. IEEE Transactions on Software Engineering 2013; 39 (4): 445-461. doi: 10.1109/TSE.2012.52
  • [6] Achimugu P, Selamat A, Ibrahim R, Mahrin MN. A systematic literature review of software requirements prioritization research. Information and Software Technology 2014; 56 (6): 568-585. doi: 10.1016/j.infsof.2014.02.001
  • [7] Fellir F, Nafil K, Touahni R. System requirements prioritization based on AHP. In: IEEE 2014 Third International Colloquium in Information Science and Technology; Tetouan, Morocco; 2014. pp. 163-167.
  • [8] Sureka A. Requirements prioritization and next-release problem under non-additive value conditions. In: IEEE 2014 23rd Australian Software Engineering Conference; Milsons Point, Australia; 2014. pp. 120-123.
  • [9] Kukreja N, Payyavula SS, Boehm B, Padmanabhuni S. Value-based requirements prioritization: usage experiences. Procedia Computer Science 2013; 16: 806-813. doi: 10.1016/j.procs.2013.01.084
  • [10] Misaghian N, Motameni H. An approach for requirements prioritization based on tensor decomposition. Requirements Engineering 2018; 23 (2): 169-188. doi: 10.1007/s00766-016-0262-6
  • [11] Hwang CL, Yoon K. Multiple Attribute Decision Making. Berlin, Germany: Springer-Verlag, 1981.
  • [12] Saaty TL. Fundamentals of Decision Making and Priority Theory with the Analytic Hierarchy Process. Pittsburgh, PA, USA: RWS Publications, 2000.
  • [13] Dahlstedt AG, Persson A. Requirements interdependencies-moulding the state of research into a research agenda. In: 2003 Ninth International Workshop on Requirements Engineering: Foundation for Software Quality; Klagenfurt, Austria; 2003. pp. 55-64.
  • [14] Wang J, Li J, Wang Q, Zhang H, Wang H. A simulation approach for impact analysis of requirement volatility considering dependency change. In: 2012 International Working Conference on Requirements Engineering: Foundation for Software Quality; Essen, Germany; 2012. pp. 59-76.
  • [15] Rosenfeld A. Fuzzy graphs. In: Zadeh LA, Fu KS, Tanaka K, Shimura M (editors). Fuzzy Sets and Their Applications to Cognitive and Decision Processes. Cambridge, MA, USA: Academic Press, 1975. pp. 77-95.
  • [16] Riegel N, Doerr J. A systematic literature review of requirements prioritization criteria. In: 2015 International Working Conference on Requirements Engineering: Foundation for Software Quality; Essen, Germany; 2015. pp. 300-317.
  • [17] Pitangueira AM, Maciel RSP, Barros M. Software requirements selection and prioritization using SBSE approaches: a systematic review and mapping of the literature. Journal of Systems and Software 2015; 103: 267-280. doi: 10.1016/j.jss.2014.09.038
  • [18] Yu ES. Towards modelling and reasoning support for early-phase requirements engineering. In: IEEE 1997 3rd International Symposium on Requirements Engineering; Annapolis, MD, USA; 1997. pp. 226-235.
  • [19] Sadiq M, Jain S. Stakeholder identification method in goal oriented requirements elicitation process. In: IEEE 2014 5th International Workshop on Requirements Prioritization and Communication; Karlskrona, Sweden; 2014. pp. 25-33.
  • [20] Dahlstedt ÅG, Persson A. Requirements interdependencies: state of the art and future challenges. In: Aurum A, Wohlin C (editors). Engineering and Managing Software Requirements. Berlin, Germany: Springer-Verlag, 2005. pp. 95-116.
  • [21] Zhang H, Li J, Zhu L, Jeffery R, Liu Y et al. Investigating dependencies in software requirements for change propagation analysis. Information and Software Technology 2014; 56 (1): 40-53. doi: 10.1016/j.infsof.2013.07.001
  • [22] Fernández DM, Mund J, Femmer H, Vetrò A. In quest for requirements engineering oracles: dependent variables and measurements for (good) RE. In: ACM 2014 18th International Conference on Evaluation and Assessment in Software Engineering; London, UK; 2014. pp. 21-31.
  • [23] McZara J, Sarkani S, Holzer T, Eveleigh T. Software requirements prioritization and selection using linguistic tools and constraint solvers–a controlled experiment. Empirical Software Engineering 2015; 20 (6): 1721-1761. doi: 10.1007/s10664-014-9334-8
  • [24] Greer D, Ruhe G. Software release planning: an evolutionary and iterative approach. Information and Software Technology 2004; 46 (4): 243-253. doi: 10.1016/j.infsof.2003.07.002
  • [25] Shao F, Peng R, Lai H, Wang B. DRank: A semi-automated requirements prioritization method based on preferences and dependencies. Journal of Systems and Software 2017; 126: 141-156. doi: 10.1016/j.jss.2016.09.043
  • [26] Mougouei D, Powers DM. Modeling and selection of interdependent software requirements using fuzzy graphs. International Journal of Fuzzy Systems 2017; 19 (6): 1812-1828. doi: 10.1007/s40815-017-0364-4
  • [27] Carlshamre P, Sandahl K, Lindvall M, Regnell B, och Dag JN. An industrial survey of requirements interdependencies in software product release planning. In: IEEE 2001 Fifth International Symposium on Requirements Engineering; Toronto, Canada; 2001. pp. 84-91.
  • [28] Zhang WR. Bipolar fuzzy sets and relations: a computational framework for cognitive modeling and multiagent decision analysis. In: IEEE 1994 First International Joint Conference of the North American Fuzzy Information Processing Society Biannual Conference; San Antonio, TX, USA; 1994. pp. 305-309.
  • [29] Mathew S, Sunitha M. Strongest strong cycles and θ -fuzzy graphs. IEEE Transactions on Fuzzy Systems 2013; 21 (6): 1096-1104. doi: 10.1109/TFUZZ.2013.2243154
  • [30] Mordeson JN, Nair PS. Applications of fuzzy graphs. In: Mordeson JN, Nair PS (editors). Fuzzy Graphs and Fuzzy Hypergraphs. Heidelberg, Germany: Physica, 2000, pp. 83-133.
  • [31] Zadeh LA. Fuzzy sets. In: Klir GJ, Yuan B (editors). Fuzzy Sets, Fuzzy Logic, and Fuzzy Systems. River Edge, NJ, USA: World Scientific Publishing, 1996, pp. 394-432.
  • [32] Klir GJ, Folger TA. Fuzzy Sets, Uncertainty, and Information. Hoboken, NJ, USA: Prentice Hall, 1988.
  • [33] De Lathauwer L, De Moor B, Vandewalle J. A multilinear singular value decomposition. SIAM Journal on Matrix Analysis and Applications 2000; 21 (4): 1253-1278. doi: 10.1137/S0895479896305696
  • [34] Tucker LR. Some mathematical notes on three-mode factor analysis. Psychometrika 1966; 31 (3): 279-311. doi: 10.1007/BF02289464
  • [35] Page L, Brin S, Motwani R, Winograd T. The PageRank citation ranking: bringing order to the web. Stanford, CA, USA: Stanford InfoLab, 1999.
  • [36] Xing W, Ghorbani A. Weighted pagerank algorithm. In: 2004 Second Annual Conference on Communication Networks and Services Research; Washington, DC, USA; 2004. pp. 305-314.
  • [37] Perini A, Ricca F, Susi A. Tool-supported requirements prioritization: comparing the AHP and CBRank methods. Information and Software Technology 2009; 51 (6): 1021-1032. doi: 10.1016/j.infsof.2008.12.001
  • [38] Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B. Experimentation in Software Engineering. Berlin, Germany: Springer-Verlag, 2012.
  • [39] Shih HS, Shyur HJ, Lee ES. An extension of TOPSIS for group decision making. Mathematical and Computer Modeling 2007; 45 (7-8): 801-813. doi: 10.1016/j.mcm.2006.03.023
  • [40] Govindan K, Khodaverdi R, Jafarian A. A fuzzy multi criteria approach for measuring sustainability performance of a supplier based on triple bottom line approach. Journal of Cleaner Production 2013; 47: 345-354. doi: 10.1016/j.jclepro.2012.04.014
  • [41] Pergher M, Rossi B. Requirements prioritization in software engineering: a systematic mapping study. In: IEEE 2013 Third International Workshop on Empirical Requirements Engineering; Rio de Janeiro, Brazil; 2013. pp. 40-44.
  • [42] Likert R. A technique for the measurement of attitudes. Archives of Psychology 1932; 22: 5-55.
  • [43] Svahnberg M, Aurum A, Wohlin C. Using students as subjects–an empirical evaluation. In: ACM-IEEE 2008 Second international Symposium on Empirical Software Engineering and Measurement; Kaiserslautern, Germany; 2008. pp. 288-290.
  • [44] Berander P. Using students as subjects in requirements prioritization. In: 2004 International Symposium on Empirical Software Engineering; Redondo Beach, CA, USA; 2004. pp. 167-176.
  • [45] Tichy WF. Hints for reviewing empirical work in software engineering. Empirical Software Engineering 2000; 5 (4): 309-312. doi: 10.1023/A:1009844119158
  • [46] Danesh AS, Ahmad R. Study of prioritization techniques using students as subjects. In: 2009 International Conference on Information Management and Engineering; Kuala Lumpur, Malaysia; 2009. pp. 390-394.
  • [47] Siegal S. Nonparametric Statistics for the Behavioral Sciences. New York, NY, US: McGraw-Hill, 1956.
Turkish Journal of Electrical Engineering and Computer Sciences-Cover
  • ISSN: 1300-0632
  • Yayın Aralığı: Yılda 6 Sayı
  • Yayıncı: TÜBİTAK