ارائه راهکاری جهت بهبود استدلال مبتنی بر قالب در برآورد هزینه نرم‌افزار با استفاده از جستجوی ممنوعه

نوع مقاله : مقاله پژوهشی

نویسندگان

1 گروه کامپیوتر، واحد بوئین زهرا، دانشگاه آزاد اسلامی، بوئین زهرا، ایران

2 گروه مهندسی کامپیوتر و فناوری اطلاعات، واحد قزوین، دانشگاه آزاد اسلامی، قزوین، ایران

چکیده

ارائه برآوردی دقیق از هزینه مورد نیاز توسعه نرم‌افزار جهت مدیریت مؤثر و موفق پروژه‌های نرم‌افزاری، یک ضرورت محسوب می‌گردد. در مراحل آغازین توسعه نرم‌افزار، اطلاعات دقیقی از پروژه در دسترس نیست و همین امر، ارائه برآورد دقیق هزینه توسعه نرم‌افزار را چالش برانگیز می‌کند. این تحقیق با هدف افزایش دقت برآورد هزینه مورد نیاز توسعه نرم‌افزار، روشی بر پایه استدلال مبتنی بر قالب و جستجوی ممنوعه ارائه کرده که با حذف ویژگی‌های غیرضروری، برآورد با حداقل ویژگی‌های مورد نیاز را برای پروژه‌های نرم‌افزاری، ممکن نموده است. مکانیزم انتخاب راه‌حل اولیه، شاخص ارزیابی تابع هدف و حذف داده‌های گمشده، پارامترهای متغیر تحقیق حاضر هستند که اثرگذاری آنها در قالب 8 سناریوی مختلف، مورد بررسی قرار گرفته است. قدرت پیش‌بینی روش ارائه شده نسبت به روش اعتبارسنجی متقابل جامع و غیرجامع در مجموعه داده‌های آلبرخت، چاینا، دِشارنایز، کِمِرِر، کیچنهام، مَکسول و میازاکی، اندازه‌گیری شده و با استفاده از دو روش اخیر، مورد ارزیابی قرار گرفته است. نتایج، برتری روش پیشنهادی را نسبت به روش‌های مشابه، بر اساس شاخص‌های ارزیابی سطح پیش‌بینی، میانه خطای نسبی، میانگین خطای نسبی و میانگین خطای مطلق، نشان داده است. علاوه بر این، کارایی روش پیشنهادی، از متدلوژی و محیط استفاده شده جهت توسعه نرم‌افزار، مستقل است و با تمرکز بر بخش دانش عمومی استدلال مبتنی بر قالب، پایداری دقت برآوردهای ارائه شده‌ در مجموعه داده‌های تحقیق را فراهم آورده است.

کلیدواژه‌ها


عنوان مقاله [English]

Presenting a solution to improve case-based reasoning in software cost estimation using tabu search

نویسندگان [English]

  • Kooshyar Esmaeeli-Rad 1
  • Mahdi Mollamotalebi 2
1 Department of Computer, Buinzahra Branch, Islamic Azad University, Buinzahra, Iran
2 Department of Computer Engineering and Information Technology, Qazvin Branch, Islamic Azad University, Qazvin, Iran
چکیده [English]

Providing an accurate estimate of the required cost of software development is necessary for the effective management and success of software projects. In the early stages of software development, detailed information about the project is unavailable, making it challenging to provide an accurate cost estimate. With the aim of increasing the accuracy of software development cost estimation, this research has presented a method based on case-based reasoning and Tabu search, which by removing unnecessary features, provides an estimate with the minimum required features for software projects. The initial solution selection mechanism, objective function evaluation index, and missing data removal are the variable parameters of the current research, whose effectiveness has been investigated in the form of 8 different scenarios. The predictive power of the presented method has been measured by the comprehensive and non-comprehensive cross-validation method in the Albrecht, China, Desharnais, Kemmerer, Kitchenham, Maxwell and Miyazaki datasets and evaluated using the two methods of Wu and Liu. The results have shown the superiority of the presented method over Wu and Liu's methods based on the evaluation indicators of the prediction level, median relative error, mean relative error, and mean absolute error. In addition, the effectiveness of the presented method is independent of the methodology and environment used for software development, which by focusing on the general knowledge part of case-based reasoning, has caused the stability of the accuracy of the estimates presented in the research data set.

کلیدواژه‌ها [English]

  • Software cost estimation
  • Case-based reasoning
  • Feature selection
  • Tabu search
  • Mean relative error
  • Mean absolute error
[1] A.L.I. Oliveira, “Estimation of software project effort with support vector regression,” Neurocomputing, vol.  69, no. 13-15, pp. 1749-1753, 2006, doi: 10.1016/j.neucom.2005.12.119.
[2] M. Saroha and S. Sahu, “Tools & methods for software effort estimation using use case points model - A review,” in International Conference on Computing, Communication & Automation, Greater Noida, India, 2015, pp. 874-879, doi: 10.1109/CCAA.2015.7148498.
[3] D. Basten and W. Mellis, “A Current Assessment of Software Development Effort Estimation,” in 2011 International Symposium on Empirical Software Engineering and Measurement, Banff, AB, Canada, 2011, pp. 235-244, doi: 10.1109/ESEM.2011.32.
[4] W. Swati and K. Kishor, “A Novel Way of Cost Estimation in Software Project Development Based on Clustering Techniques,” Int. J. Innov. Res. Comput. Commun. Eng., vol. 2, no. 4, pp. 3892-3899, 2014.
[5] S.A. Abbas, X. Liao, A.U. Rehman, A. Azam, and M.I. Abdullah, “Cost Estimation: A Survey of Well-known Historic Cost Estimation Techniques,” J. Emerging Trends Comput. Inf. Sci., vol. 3, no. 4, pp. 612-636, 2012.
[6] B. Boehm, C. Abts, and S. Chulani, “Software development cost estimation approaches - A survey,” Ann. Softw. Eng., vol. 10, no. 1, pp. 177-205, 2000, doi: 10.1023/A:1018991717352.
[7] K. Dejaeger, W. Verbeke, D. Martens, and B. Baesens, “Data Mining Techniques for Software Effort Estimation: A Comparative Study,” IEEE Trans. Software Eng., vol. 38, no. 2, pp. 375-397, 2012, doi: 10.1109/TSE.2011.55.
[8] J. Borade and V.R. Khalkar, “Software Project Effort and Cost Estimation Techniques,” Int. J.Adv. Res. Comput. Sci. Softw. Eng., vol. 3, no. 8, pp. 730-739, 2013.
[9] D. Azhar, E. Mendes, and P. Riddle, “A systematic review of web resource estimation,” in Proceedings of the 8th International Conference on Predictive Models in Software Engineering, ACM: Lund, Sweden, 2012, pp. 49-58, 10.1145/2365324.2365332.
[10] V. Bardsiri and D. Jawawi, “Software Cost Estimation Methods: A Review,” J.  Emerg. Trends Comput. Inf. Sci., vol. 2, no. 1, pp. 21–29, 2010.
[11] E. Mendes, N. Mosley, and S. Counsell, “The application of case-based reasoning to early Web project cost estimation,” in Proceedings 26th Annual International Computer Software and Applications, Oxford, England, 2002, pp. 393-398, doi: 10.1109/CMPSAC.2002.1045034.
[12] D.J. Reifer, “Web development: estimating quick-to-market software,” IEEE Softw., vol. 17, no. 6, pp. 57-64, 2000, doi: 10.1109/52.895169.
[13] P.S. Kumar and H. Behera, “Role of soft computing techniques in software effort estimation: an analytical study,” in Computational Intelligence in Pattern Recognition. Advances in Intelligent Systems and Computing, vol 999, Springer, Singapore, doi: 10.1007/978-981-13-9042-5_70.
[14] G. Kadoda, M. Cartwright, and M. Shepperd, “Issues on the effective use of CBR technology for software project prediction,” in Proceedings of 4th International Conference on Case-Based Reasoning, ICCBR, Vancouver, BC, Canada, 2001, pp. 276-290, doi: 10.1007/3-540-44593-5_20.
[15] M. Pandey, R. Litoriya, and P. Pandey, “Validation of Existing Software Effort Estimation Techniques in Context with Mobile Software Applications,” Wirel. Pers. Commun., vol. 110, no. 4, pp. 1659-1677, 2020, doi: 10.1007/s11277-019-06805-0.
[16] W.L. Du, L.F. Capretz, A.B. Nassif, and D. Ho, “A hybrid intelligent model for software cost estimation,” J. Comput. Sci., vol. 9, no. 11, pp. 1506-1513, 2013, doi: 10.3844/jcssp.2013.1506.1513.
[17] D.D. Galorath and M.W. Evans, Software sizing, estimation, and risk management: when performance is measured performance improves, 2006: Auerbach Publications.
[18] J.S. Jang, “ANFIS: adaptive-network-based fuzzy inference system,” IEEE Trans. Syst. Man Cybern., vol. 23, no. 3, pp. 665-685, 1993, doi: 10.1109/21.256541.
[19] M. Algabri, F. Saeed, H. Mathkour, and N. Tagoug, “Optimization of soft cost estimation using genetic algorithm for NASA software projects,” 5th National Symposium on Information Technology: Towards New Smart World (NSITNSW), Riyadh, Saudi Arabia, 2015, pp. 1-4, doi: 10.1109/NSITNSW.2015.7176416.
[20] B.W. Boehm, B.K. Clark, E. Horowitz, J.C. Westland, R.J. Madachy, and R.W. Selby, “Cost models for future software life cycle processes: COCOMO 2.0,” Ann. Softw. Eng., vol. 1, pp. 57-94, 1995, doi: 10.1007/BF02249046.
[21] P. Singal, A.C. Kumari, and P. Sharma, “Estimation of Software Development Effort: A Differential Evolution Approach,” Proc. Comput. Sci., vol. 167, pp. 2643-2652, 2020, doi: 10.1016/j.procs.2020.03.343.
[22] A.B. Nassif, D. Ho, and L.F. Capretz, “Regression model for software effort estimation based on the use case point method,” in International Conference on Computer and Software Modeling, IPCSIT,  Singapore, 2011, pp.117-121.
[23] G. Karner, “Resource estimation for objectory projects,” Obj. Syst. SF AB, vol. 17, pp. 1-9, 1993.
[24] G. Schneider and J.P. Winters, Applying Use Cases: A Practical Guide, 2nd edition, 2001: Addison-Wesley Professional.
[25] A. Corazza, S.D. Martino, F. Ferrucci, C. Gravino, F. Sarro, and E. Mendes, “Using tabu search to configure support vector regression for effort estimation,” Empir. Softw. Eng., vol. 18, no. 3, pp. 506-546, 2013, doi: 10.1007/s10664-011-9187-3.
[26] M.A. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I.H. Witten, “The WEKA data mining software: an update,” ACM SIGKDD Explor., vol. 11, no. 1, pp. 10-18, 2009, doi: 10.1145/1656274.1656278.
[27] C.-C. Chang and C.-J. Lin, “LIBSVM: A library for support vector machines,” ACM Trans. Intell. Syst. Technol., vol. 2, no. 3, pp. 1-27, 2011, doi: 10.1145/1961189.1961199.
[28] Z. Abdelali, H. Mustapha, and N. Abdelwahed, “Investigating the use of random forest in software effort estimation,” Proc. Comput. Sci., vol. 148, pp. 343-352, 2019, doi: 10.1016/j.procs.2019.01.042.
[29] Z. Zia, T. Kamal and Z. Ziauddin, “An effort estimation model for agile software development,” Adv. Comput. Sci. Appl., vol. 2, no. 1, pp. 314-324, 2012.
[30] K. Periyasamy and A. Ghode, “Cost estimation using extended use case point (e-UCP) model,” in International Conference on Computational Intelligence and Software Engineering, Wuhan, China, 2009, pp. 1-5, doi: 10.1109/CISE.2009.5364515.
[31] J. Alwidian and W. Hadi, “Enhancing the results of ucp in cost estimation using new external environmental factors,” in International Conference on Information Technology and e-Services, Sousse, Tunisia, 2012, pp. 1-11, doi: 10.1109/ICITeS.2012.6216623.
[32] P. Jha and R.K. Malu, “Cost estimation using parameterized for use case point model (P-UCP),” Int. J. Eng. Res. Appl., vol. 3, no. 5, pp. 1280-1283, 2013.
[33] T. Xia, R. Shu, X. Shen, and T. Menzies, “Sequential model optimization for software effort estimation,” IEEE Trans. Software Eng., vol. 48, no. 6, pp. 1994-2009, 2022, doi: 10.1109/TSE.2020.3047072.
[34] P.S. Kumar, H.S. Behera, J. Nayak, and B. Naik, “A pragmatic ensemble learning approach for effective software effort estimation,” Innov. Syst. Softw. Eng., vol. 18, no. 2, pp. 283-299, 2022, doi: 10.1007/s11334-020-00379-y.
[35] M. Ahmed, N. Iqbal, F. Hussain, M.-A. Khan, M. Helfert, Imran, and J. Kim, “Blockchain-Based Software Effort Estimation: An Empirical Study,” IEEE Access, vol. 10, pp. 120412-120425, 2022, doi: 10.1109/ACCESS.2022.3216840.
[36] N. Rankovic, D. Rankovic, M. Ivanovic, and L. Lazic, “A new approach to software effort estimation using different artificial neural network architectures and Taguchi orthogonal arrays,” IEEE Access, vol. 9, pp. 26926-26936, 2021, doi: 10.1109/ACCESS.2021.3057807.
[37] H.A. Linstone and M. Turoff, “The Delphi method: techniques and applications,” J. Mark. Res., vol. 18, no. 3, 1975, doi: 10.2307/3150755.
[38] B.W. Barry, Software engineering economics, New York, 1981.
[39] E.S. Norman, S.A. Brotherton, and R.T. Fried, Work Breakdown Structures: The Foundation for Project Management Excellence, Wiley, 2010.
[40] L.H. Putnam, “A General Empirical Solution to the Macro Software Sizing and Estimating Problem,” IEEE Trans. Software Eng., vol. 4, no. 4, pp. 345-361, 1978, doi: 10.1109/TSE.1978.231521.
[41] E.A. Nelson, Management handbook for the estimation of computer programming costs, 1967.
[42] R.W. Wolverton, “The Cost of Developing Large-Scale Software,” IEEE Trans. Computers, vol. 23, no. 6, pp. 615-636, 1974, doi: 10.1109/T-C.1974.224002.
[43] J.D. Aron, Estimating resources for large programming systems, FSC-69-5013, Federal Systems Center, IBM, Gaithersburg, Maryland, 1969, pp. 1-21.
[44] R. Park, “The central equations of the price software cost model,” in 4th COCOMO Users Group Meeting, November 1988. 
[45] C.E. Walston and C.P. Felix, “A method of programming measurement and estimation,” IBM Syst. J., vol. 16, no. 1, pp. 54-73, 1977, doi: 10.1147/sj.161.0054.
[46] R.K.D. Black, R.P. Curnow, R. Katz, and M.D. Gray, “BCS Software Production Data,” RADC-TR-77-116, Boeing Computer Services, 1977.
[47] W.M. Carriere and R. Thibodeau, “Development of a logistics software cost estimating technique for foreign military sales,” Report CR-3-839, General Reserch Corporation, 1979.
[48] L.A. Zadeh, “Fuzzy sets,” Inf. Control, vol. 8, no. 3, pp. 338-353, 1965.
[49] L. Breiman, Classification and regression trees, Routledge, 2017.
[50] J. Pearl, Probabilistic reasoning in intelligent systems: Networks of plausible inference, Morgan Kaufmann, 1988.
[51] G.G. Daniel, “Artificial Neural Network,” in Encyclopedia of Sciences and Religions, A.L.C. Runehov, L. Oviedo, Eds., Springer: Dordrecht, The Netherlands, 2013, p. 143, doi: 10.1007/978-1-4020-8265-8_200980.
[52] M. Awad and R. Khanna, “Support Vector Regression,” in Efficient Learning Machines: Theories, Concepts, and Applications for Engineers and System Designers, Apress: Berkeley, CA pp. 67-80, 2015, doi: 10.1007/978-1-4302-5990-9_4.
[53] A. Aamodt and E. Plaza, “Case-based reasoning: Foundational issues, methodological variations, and system approaches,” AI Commun., vol. 7, no. 1, pp. 39-59, 1994, doi: 10.3233/AIC-1994-7104.
[54] A.J. Albrecht and J.E. Gaffney, “Software function, source lines of code, and development effort prediction: a software science validation,” IEEE Trans. Software Eng., vol. 9, no. 6, pp. 639-648, 1983, doi: 10.1109/TSE.1983.235271.
[55] T. Menzies, A. Butcher, D.R. Cok, A. Marcus, L. Layman, F. Shull, B. Turhan, and T. Zimmermann, “Local versus Global Lessons for Defect Prediction and Effort Estimation,” IEEE Trans. Software Eng., vol. 39, no. 6, pp. 822-834, 2013, doi: 10.1109/TSE.2012.83.
[56] J.-M. Desharnais, “Statistical Analysis on the Productivity of Data Processing with Development Projects using the Function Point Technique,” Master’s Thesis, University of Quebec in Montreal, 1988.
[57] C.F. Kemerer, “An empirical validation of software cost estimation models,” Commun. ACM, vol. 30, no. 5, pp. 416-429, 1987, doi: 10.1145/22899.22906.
[58] B.A. Kitchenham, S.L. Pfleeger, B. McColl, and S. Eagan, “An empirical study of maintenance and development estimation accuracy,” J. Syst. Softw., vol. 64, no. 1, pp. 57-77, 2002, doi: 10.1016/S0164-1212(02)00021-3.
[59] K.D. Maxwell, Applied Statistics for Software Managers, Prentice Hall PTR, 2002.
[60] Y. Miyazaki, M. Terakado, K. Ozaki, and H. Nozaki, “Robust regression for developing software estimation models,” J. Syst. Softw., vol. 27, no. 1, pp. 3-16, 1994, doi: 10.1016/0164-1212(94)90110-4.
[61] D. Wu, J. Li, and C. Bao, “Case-based reasoning with optimized weight derived by particle swarm optimization for software effort estimation,” Soft Comput., vol. 22, no. 16, pp. 5299-5310, 2018, doi: 10.1007/s00500-017-2985-9.
[62] Q. Liu, J. Xiao, and H. Zhu, “Feature selection for software effort estimation with localized neighborhood mutual information,” Clust. Comput., vol. 22, no. 3, pp. 6953-6961, 2019, doi: 10.1007/s10586-018-1884-x.