Программ хангамжийн статик загвараас зохиомжийн согогийг илрүүлэх нь

Authors

  • Batnyam Battulga National University of Mongolia
  • Lkhamrolom Tsoodol National University of Mongolia
  • Naranchimeg Bold https://orcid.org/0000-0003-4152-4305

DOI:

https://doi.org/10.22353/mjeas.v5i2.4978

Keywords:

Программын согог илрүүлэх, статик хэмжүүр, машин сургалт, урвуу инженерчлэл

Abstract

Программ хангамжийн бүтээгдэхүүн хурдацтай нэмэгдэж буй өнөө үед программ хангамжийн алдаа, согогийг аль болох эрт урьдчилан таамагласнаар төслийн нийт зардлыг бууруулж, төсөл амжилттай хэрэгжихэд чухал нөлөөтэй. Одоо байгаа программ хангамжийн согогийг урьдчилан таамаглах аргууд нь программ хангамжийн хөгжлийн амьдралын мөчлөгийн (SDLC) хэрэгжүүлэлтийн үе шат эсвэл шалгалтын үе шатанд байгаа эх код дээр тулгуурладаг. Энэ судалгааны ажилд SDLC-ийн зохиомжийн үе шатанд сэжигтэй классыг таамаглах зохиомжийн статик хэмжүүрт суурилсан машин сургалтын аргыг санал болгож байна. Тодруулбал, бид эхлээд жава эх код бүхий PROMISE өгөгдлийн багцаас урвуу инженерчлэлийн аргаар UML статик загвар гарган, түүнээс зохиомжийн статик хэмжүүр бүхий өгөгдлийн багц үүсгэж, сэжигтэй классыг машин сургалтын арга ашиглан таамаглах туршилтыг гүйцэтгэнэ. PROMISE өгөгдлийн багц дээрх туршилтын үр дүнгээс харахад бидний арга нь эх кодоос статик хэмжүүрт суурилсан хувилбараас дутахгүй үр дүн харуулж байгааг батлан харуулна.

Downloads

Download data is not yet available.

References

Radjenovi´c D, Heriˇcko M, Torkar R, ˇZivkoviˇc A. Software fault prediction metrics: A systematic literature review. Information and software technology. 2013;55(8):1397-418.

Wang S, Liu T, Tan L. Automatically learning semantic features for defect prediction. In: Proceedings of the 38th International Conference on Software Engineering; 2016. p. 297-308.

Dam HK, Tran T, Pham T, Ng SW, Grundy J, Ghose A. Automatic feature learning for vulnerability prediction. arXiv preprint arXiv:170802368. 2017.

Canfora G, Di Penta M, Cerulo L. Achievements and challenges in software reverse engineering. Communications of the ACM. 2011;54(4):142-51.

Ferenc R, B´an D, Gr´osz T, Gyim´othy T. Deep learning in static, metric-based bug prediction. Array. 2020;6:100021.

Ferenc R, T´oth Z, Lad´anyi G, Siket I, Gyim´othy T. A public unified bug dataset for java. In: Proceedings of the 14th international conference on predictive models and data analytics in software engineering; 2018. p. 12-21.

Pradel M, Sen K. Deepbugs: A learning approach to name-based bug detection. Proceedings of the ACM on Programming Languages. 2018;2(OOPSLA):1-25.

Shi K, Lu Y, Chang J, Wei Z. PathPair2Vec: An AST path pair-based code representation method for defect prediction. Journal of Computer Languages. 2020;59:100979.

Karim S, Warnars HLHS, Gaol FL, Abdurachman E, Soewito B, et al. Software metrics for fault prediction using machine learning approaches: A literature review with PROMISE repository dataset. In: 2017 IEEE international conference on cybernetics and computational intelligence (CyberneticsCom). IEEE; 2017. p. 19-23.

Thota MK, Shajin FH, Rajesh P, et al. Survey on software defect prediction techniques. International Journal of Applied Science and Engineering. 2020;17(4):331-44.

Wahono RS, Herman NS, Ahmad S. A comparison framework of classification models for software defect prediction. Advanced Science Letters. 2014;20(10-11):1945-50.

Shuai B, Li H, Li M, Zhang Q, Tang C. Software defect prediction using dynamic support vector machine. In: 2013 Ninth International Conference on Computational Intelligence and Security. IEEE; 2013. p. 260-3.

Maddeh M, Ayouni S, Alyahya S, Hajjej F. Decision tree-based design defects detection. IEEE Access. 2021;9:71606-14.

Cruz AEC, Ochimizu K. A UML approximation of three Chidamber-Kemerer metrics and their ability to predict faulty code across software projects. IEICE TRANSACTIONS on Information and Systems. 2010;93(11):3038-50.

Han AR, Jeon SU, Bae DH, Hong JE. Measuring behavioral dependency for improving change-proneness prediction in UML-based design models. Journal of Systems and Software. 2010;83(2):222-34.

Chidamber SR, Kemerer CF. A metrics suite for object-oriented design. IEEE Transactions on Software Engineering. 1994;20(6):476-93.

El Emam K, Benlarbi S, Goel N, Rai SN. The confounding effect of class size on the validity of object-oriented metrics. IEEE Transactions on Software Engineering. 2001;27(7):630-50.

Abreu FB, Carapu¸ca R. Object-oriented software engineering: Measuring and controlling the development process. In: Proceedings of the 4th international conference on software quality. vol. 186; 1994.

Bansiya J, Davis CG. A hierarchical model for object-oriented design quality assessment. IEEE Transactions on Software Engineering. 2002;28(1):4-17.

Lorenz M, Kidd J. Object-oriented software metrics: a practical guide. Prentice-Hall, Inc.; 1994.

Lionel Briand WM Prem Devanbu. An Investigation into coupling measures for object-oriented designs; 1997.

Oyun-Erdene N, Batnyam B, Erdenetuya N, Lkhamrolom T. Predicting class fault proneness using data mining classification techniques. Journal of Advanced Research in Dynamical and Control Systems. 2018;10(2):58-590.

Pedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, et al. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research. 2011;12:2825-30.

Downloads

Published

2023-10-26

How to Cite

[1]
B. Battulga, L. Tsoodol, and N. Bold, “Программ хангамжийн статик загвараас зохиомжийн согогийг илрүүлэх нь”, MJEngApplS, vol. 5, no. 2, Oct. 2023.

Issue

Section

Судалгааны өгүүлэл