Log in

The use of knapsack 0/1 in prioritizing software requirements and Markov chain to predict software success

  • Original Research
  • Published:
International Journal of Information Technology Aims and scope Submit manuscript

Abstract

Requirements prioritization is one of the most valuable aspects of software engineering. This is primarily due to the fact that resources, be it time, skillset, or budget, are limited. Existing complex methodologies, such as analytical heuristic process (AHP) and planning game, face low adoption in the industry, promoting the need for more accessible techniques. This research introduces a novel contribution to software engineering by offering a simple and scalable approach to requirement prioritization (RP) and software acceptance prediction. The proposed approach consists of two key methods, knapsack 0/1 and Markov, to optimize RP and predict software acceptance respectively. By considering constraints, organizations can make enlightened decisions on handling requirements and optimize their minimum viable product. The results showcase significant time efficiency, with an average worst-case time of 5.645s for 10,000 requirements and an upper bound of 0.023s for the Markov prediction. This study aims to provide practitioners with a practical solution for prioritizing requirements and predicting software outcomes from user acceptance tests. By simplifying the process and offering compelling time complexity, this approach contributes to the enhancement of software development practices.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Availability of data and materials

This does not apply to the research conducted.

References

  1. Cerpa N, Bardeen M, Kitchenham B, Verner J (2010) Evaluating logistic regression models to estimate software project outcomes. Inf Softw Technol 52(9):934–944. https://doi.org/10.1016/j.infsof.2010.03.011

    Article  Google Scholar 

  2. Mehr Awan K, Ikram Lali M, Shehzad B, Mehr Awan K, Ikram-ullah Lali M, Aslam W (2017) Identification of patterns in failure of software projects. J Inf Sci Eng 33:1465–1479. https://doi.org/10.6688/JISE.2017.33.6.5

    Article  Google Scholar 

  3. Sharma MK (2017) A study of SDLC to develop well-engineered software. Int J Adv Res Comput Sci 8(3):520–523

    Google Scholar 

  4. Tiranga SK, Sharma N (2019) Nimble agile a new approach in software testing. Int J Res Anal Rev 6(2):904–908

  5. Nundlall C, Nagowah SD (2021) Task allocation and coordination in distributed agile software development: a systematic review. Int J Inf Technol 13:321–330. https://doi.org/10.1007/s41870-020-00543-4

    Article  Google Scholar 

  6. Coutinho JCS, Andrade WL, Machado PDL (2019) Requirements engineering and software testing in agile methodologies: a systematic map**. ACM Int Conf Proc Ser. https://doi.org/10.1145/3350768.3352584

    Article  Google Scholar 

  7. Sawyer P, Sommerville I, Viller S (1999) Capturing the benefits of requirements engineering. IEEE Softw 16(2):78–85. https://doi.org/10.1109/52.754057

    Article  Google Scholar 

  8. Sawant AA, Bari PH, Chawan P (2012) Software testing techniques and strategies. J Eng Res Appl 2(3):980–986

    Google Scholar 

  9. Mishra DB, Panda N, Mishra R et al (2019) Total fault exposing potential based test case prioritization using genetic algorithm. Int J Inf Technol 11:633–637. https://doi.org/10.1007/s41870-018-0117-0

    Article  Google Scholar 

  10. Jamil MA, Arif M, Abubakar NSA, Ahmad A (2017) Software testing techniques: a literature review. In: Proceedings—6th international conference on information and communication technology for the muslim world, ICT4M 2016, 177–182. https://doi.org/10.1109/ICT4M.2016.40

  11. Sadiq M, Devi VS (2022) A rough-set based approach for the prioritization of software requirements. Int J Inf Technol 14:447–457

    Google Scholar 

  12. Mohammad CW, Shahid M, Hussain SZ (2021) Fuzzy attributed goal-oriented software requirements analysis with multiple stakeholders. Int J Inf Technol 13:1–9

    Google Scholar 

  13. Leshob A, Hadaya P, Renard L (2020) Software requirements prioritization with the goal-oriented requirement language. In: Chao KM, Jiang L, Hussain O, Ma SP, Fei X (eds) Advances in E-business engineering for ubiquitous computing. ICEBE 2019. Lecture notes on data engineering and communications technologies, vol 41. Springer, Cham. https://doi.org/10.1007/978-3-030-34986-8_13

  14. Sapunkov A, Afanasieva T (2019) Software for automation of user requirements prioritization. ACM Int Conf Proc Ser Part F1482:1–5. https://doi.org/10.1145/3318236.3318251

    Article  Google Scholar 

  15. Tufail H, Qasim I, Masood MF, Tanvir S, Butt WH (2019) Towards the selection of optimum requirements prioritization technique: a comparative analysis. In: 5th international conference on information management, ICIM 2019, pp 227–231. https://doi.org/10.1109/INFOMAN.2019.8714709

  16. Hudaib A, Masadeh R, Qasem MH, Alzaqebah A (2018) Requirements prioritization techniques comparison. Mod Appl Sci 12(2):62. https://doi.org/10.5539/mas.v12n2p62

    Article  Google Scholar 

  17. Misaghian N, Motameni H (2018) An approach for requirements prioritization based on tensor decomposition. Require Eng 23(2):169–188. https://doi.org/10.1007/s00766-016-0262-6

    Article  Google Scholar 

  18. Gupta A, Gupta C (2018) CDBR: a semi-automated collaborative execute-before-after dependency-based requirement prioritization approach. J King Saud Univ Comput Inf Sci. https://doi.org/10.1016/j.jksuci.2018.10.004

    Article  Google Scholar 

  19. Hujainah F, Bakar RBA, Abdulgabber MA, Zamli KZ (2018) Software requirements prioritisation: a systematic literature review on significance, stakeholders, techniques and challenges. IEEE Access 6:71497–71523. https://doi.org/10.1109/ACCESS.2018.2881755

    Article  Google Scholar 

  20. Alzaqebah A, Masadeh R, Hudaib A (2018) Whale Optimization Algorithm for requirements prioritization. In: 2018 9th international conference on information and communication systems, ICICS 2018, 2018-Janua, pp 84–89. https://doi.org/10.1109/IACS.2018.8355446

  21. Masadeh R, Alzaqebah A, Hudaib A (2018) Grey Wolf Algorithm for requirements prioritization. Mod Appl Sci 12(2):54. https://doi.org/10.5539/mas.v12n2p54

    Article  Google Scholar 

  22. Hudaib A, Masadeh R, Alzaqebah A (2018) WGW: a hybrid approach based on Whale and Grey Wolf Optimization Algorithms for requirements prioritization. Adv Syst Sci Appl 02

  23. Sadiq M (2017) A fuzzy set-based approach for the prioritization of stakeholders on the basis of the importance of software requirements. IETE J Res 63:616–629. https://doi.org/10.1080/03772063.2017.1313140

    Article  Google Scholar 

  24. Morales-Ramirez I, Munante D, Kifetew F, Perini A, Susi A, Siena A (2017) Exploiting user feedback in tool-supported multi-criteria requirements prioritization. In: Proceedings—2017 IEEE 25th international requirements engineering conference, RE 2017, pp 424–429. https://doi.org/10.1109/RE.2017.41

  25. Keertipati S, Savarimuthu BTR, Licorish SA (2016) Approaches for prioritizing feature improvements extracted from app reviews. ACM Int Conf Proc Ser. https://doi.org/10.1145/2915970.2916003

    Article  Google Scholar 

  26. Ur Rehman Khan S, Peck Lee S, Dabbagh M, Tahir M, Khan M, Arif M (2016) RePizer: a framework for prioritization of software requirements. Front Inform Technol Electron Eng 17(8):750–765. https://doi.org/10.1631/FITEE.1500162

    Article  Google Scholar 

  27. Liaqat RM, Ahmed MA, Azam F, Mehboob B (2016) A majority voting goal based technique for requirement prioritization. In: 2016 22nd international conference on automation and computing, ICAC 2016: tackling the new challenges in automation and computing, pp 435–439. https://doi.org/10.1109/IConAC.2016.7604958

  28. Mirjalili S, Lewis A (2016) The Whale Optimization Algorithm. Adv Eng Softw 95:51–67. https://doi.org/10.1016/j.advengsoft.2016.01.008

    Article  Google Scholar 

  29. Achimugu P, Selamat A, Ibrahim R (2015) Using the fuzzy multi-criteria decision-making approach for software requirements prioritization. Jurnal Teknologi 1:1–6

    Google Scholar 

  30. McZara J, Sarkani S, Holzer T et al (2015) Software requirements prioritization and selection using linguistic tools and constraint solvers a controlled experiment. Empir Software Eng 20:1721–1761. https://doi.org/10.1007/s10664-014-9334-8

    Article  Google Scholar 

  31. Achimugu P, Selamat A, Ibrahim R, Mahrin MNR (2014) A systematic literature review of software requirements prioritization research. Inf Softw Technol 56:568–585. https://doi.org/10.1016/j.infsof.2014.02.001

    Article  Google Scholar 

  32. Mirjalili S, Mirjalili SM, Lewis A (2014) Grey Wolf Optimizer. Adv Eng Softw 69:46–61. https://doi.org/10.1016/j.advengsoft.2013.12.007

    Article  Google Scholar 

  33. Wiegers KE (2003) Software requirements, 2nd edn. Microsoft Press, p 544

Download references

Acknowledgements

We want to thank the Department of computer science, KNUST for their support and encouragement which contributed to the success of the research conducted.

Funding

This research did not receive any funding or grant from any organization, person, or body.

Author information

Authors and Affiliations

Authors

Contributions

All authors were involved equally in the preparation and writing of the manuscript, review of the manuscript, experimentations, implementations, and analysis of results. The order and appearance of author names do not bear any effect on their contribution.

Corresponding author

Correspondence to Kate Takyi.

Ethics declarations

Conflict of interest

We declare that there are no competing interests concerning the research conducted. Non-financial interests: The research conducted bears no financial interests from any organization, persons, or bodies.

Ethical approval

This does not apply to the research conducted.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Armah, I.A., Hayfron-Acquah, J.B., Takyi, K. et al. The use of knapsack 0/1 in prioritizing software requirements and Markov chain to predict software success. Int. j. inf. tecnol. 16, 1967–1979 (2024). https://doi.org/10.1007/s41870-023-01476-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s41870-023-01476-4

Keywords

Navigation