Kÿ thuật lựa chọn đặc trưng trong dự đoán code-smell dựa trên học máy

Feature selection techniques in code smell prediction based on machine learning

  • Thanh Bình Nguyễn
  • Hữu Nhật Minh Nguyễn trường Đại học Công nghệ Thông tin & Truyền thông Việt Hàn, Đại học Đà Nẵng
  • Thị Mỹ Hạnh Lê Khoa Công nghệ Thông tin, Trường Đại học Bách Khoa Đà Nẵng
  • Thanh Bình Nguyễn Trường Đạihọc Công nghệ Thông tin và Truyền thôngViệt-Hàn, Đại học Đà Nẵng.
Keywords: Lựa chọn đặc trưng, code smell, học máy

Abstract

Các nghiên cứu thử nghiệm nhằm phát hiện code-smell trong mã nguồn bằng cách sử dụng các kỹ thuật học
máy dựa trên tập dữ liệu độ đo mã nguồn đã cho thấy nhiều kết quả hứa hẹn. Các thử nghiệm đã bước đầu đưa các kỹ thuật lựa chọn đặc trưng của các tập dữ liệu vào các mô hình học máy, kết quả thử nghiệm cho thấy các kỹ thuật lựa chọn đặc trưng đã có những tác động tích cực đến hiệu suất dự đoán của các mô hình. Tuy nhiên, chưa có nghiên cứu nào so sánh hiệu suất dự đoán giữa các kỹ thuật lựa chọn đặc trưng trên cùng một mô hình trong dự đoán code-smell. Bài báo này sẽ cung cấp các kết quả thử nghiệm nhằm đánh giá toàn diện các kỹ thuật lựa chọn đặc trưng bằng cách so sánh hiệu suất dự đoán code-smell giữa các kỹ thuật này khi được áp dụng với cùng một mô hình học máy; đồng thời, bài báo này cũng cho biết kỹ thuật lựa chọn đặc trưng phù hợp nhất đối với một mô hình phát hiện code-smell dựa trên học máy.

Author Biographies

Thanh Bình Nguyễn

Nguy¹n Thanh B¼nh1[0000-0002-5650-7738], Minh N.H.N3[0000-0002-3035-0816],
L¶ Thà Mÿ H¤nh2[0000-0001-6982-7848], and Nguy¹n Thanh
B¼nh3[0000-0002-0154-1162]
1 Tr÷íng cao ¯ng Cì i»n-X¥y düng v Næng L¥m Trung Bë, B¼nh ành
thanhbinh@cdtb.edu.vn
2 Tr÷íng ¤i håc b¡ch khoa N®ng, N®ng
ltmhanh@dut.udn.vn
3 Tr÷íng ¤i håc cæng ngh» thæng tin v truy·n thæng Vi»t-H n, N®ng
nhnminh@vku.udn.vn ntbinh@vku.udn.vn

Hữu Nhật Minh Nguyễn, trường Đại học Công nghệ Thông tin & Truyền thông Việt Hàn, Đại học Đà Nẵng

Tốt nghiệp Đại học chuyên ngành Khoa học và Kỹ thuật
Máy tính, Trường Đại học Bách Khoa TP.
Hồ Chí Minh năm 2013. Năm 2020 bảo vệ
Tiến sĩ ngành Khoa học và Kỹ thuật Máy
tính của trường Đại học Kyung Hee, Hàn
Quốc. Hiện là giảng viên, nghiên cứu viên
của trường Đại học Công nghệ Thông tin &
Truyền thông Việt Hàn, Đại học Đà Nẵng., phụ trách Chương trình
nghiên cứu Viện Khoa học và Công nghệ Số của trường. Các lĩnh
vực nghiên cứu chính bao gồm wireless communications, mobile
edge computing, federated learning, xử lý ngôn ngữ tự nhiên và
xử lý hình ảnh.

Thị Mỹ Hạnh Lê, Khoa Công nghệ Thông tin, Trường Đại học Bách Khoa Đà Nẵng

Giảng viên Khoa Công nghệ Thông tin, Trường Đại học Bách
Khoa Đà Nẵng, Việt Nam. Nhận bằng Thạc
sỹ năm 2004 và bằng Tiến sĩ Khoa học Máy
tính năm 2016, tại Đại học Đà Nẵng. Các
lĩnh vực nghiên cứu gồm Công nghệ phần
mềm và Ứng dụng các kỹ thuật heuristic
cho các vấn đề trong công nghệ phần mềm.

Thanh Bình Nguyễn, Trường Đạihọc Công nghệ Thông tin và Truyền thôngViệt-Hàn, Đại học Đà Nẵng.

Nhận bằng Tiến sĩ Công nghệ Thông tin tại Trường Đại học
Bách Khoa Grenoble, Cộng hòa Pháp năm
2004 và đã được công nhận Phó Giáo sư
từ năm 2013. Hiện công tác tại Trường Đại
học Công nghệ Thông tin và Truyền thông
Việt-Hàn, Đại học Đà Nẵng. Các lĩnh vực
nghiên cứu chính bao gồm Công nghệ phần
mềm và Chất lượng phần mềm.

References

M. Lehman, “Programs, life cycles, and laws of software evolution,” Proceedings of the IEEE, vol. 68, pp. 1060–1076, 1980.

D. Parnas, “Software aging.” IEEE Comput. Soc. Press, 1994, pp. 279–287.

P. Avgeriou and P. Kruchten, “Managing technical debt in software engineering,” Dagstuhl Seminar 16162, 2016.

F. Khomh, M. D. Penta, Y.-G. Guéhéneuc, and G. Antoniol, “An exploratory study of the impact of antipatterns on class change- and fault-proneness,” Empirical Software Engineering, vol. 17, pp. 243–275, 8 2012.

D. Spadini, F. Palomba, A. Zaidman, M. Bruntink, and A. Bacchelli, “On the relation of test smells to software code quality,” 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 1–12, 8 2018.

A. Yamashita and L. Moonen, “Do code smells reflect important maintainability aspects?” IEEE International Conference on Software Maintenance, ICSM, pp. 306–315, 8 2012.

F. A. Fontana, M. V. Mantyl ¨ a, M. Zanoni, and A. Marino, “Comparing and experimenting machine learning techniques for code smell detection,” Empirical Software Engineering, vol. 21, pp. 1143–1191, 6 2016.

F. A. Fontana and M. Zanoni, “Code smell severity classification using machine learning techniques,” Knowledge-Based Systems, vol. 128, pp. 43–58, 7 2017.

U. Mansoor, M. Kessentini, B. R. Maxim, and K. Deb, “Multi-objective code-smells detection using good and bad design examples,” Software Quality Journal, vol. 25, pp. 529–552, 6 2017.

P. M. N and M. M, “Predicting the severity of open source bug reports using unsupervised and supervised techniques,” International Journal of Open Source Software and Processes, vol. 10, pp. 1–15, 1 2019.

M. Y. Mhawish and M. Gupta, “Generating codesmell prediction rules using decision tree algorithm and software metrics,” International Journal of Computer Sciences and Engineering, vol. 7, pp. 41–48, 5 2019.

——, “Predicting code smells and analysis of predictions: Using machine learning techniques and software

metrics,” Journal of Computer Science and Technology, vol. 35, pp. 1428–1445, 11 2020.

S. Dewangan and R. S. Rao, Code Smell Detection Using Classification Approaches, 2022.

B. N. Thanh, M. N. N. H, H. L. T. My, and B. N. Thanh, “Ml-codesmell: A code smell prediction dataset for machine learning approaches.” Association for Computing Machinery, 12 2022, pp. 368–374.

L. Breiman, “Random forests,” pp. 5–32, 2001.

D. A. McCarty, H. W. Kim, and H. K. Lee, “Evaluation of light gradient boosted machine learning technique in large scale land use and land cover classification,” Environments, vol. 7, p. 84, 10 2020.

P. Cunningham and S. J. Delany, “k-nearest neighbour classifiers - a tutorial,” ACM Computing Surveys, vol. 54, pp. 1–25, 7 2022.

S. Sperandei, “Understanding logistic regression analysis,” Biochemia Medica, vol. 24, pp. 12–18, 2014.

C.-Y. J. Peng, K. L. Lee, and G. M. Ingersoll, “An introduction to logistic regression analysis and reporting,” The Journal of Educational Research, vol. 96, pp. 3–14, 9 2002.

G. Fung and O. L. Mangasarian, “Semi-supervised support vector machines for unlabeled data classification,” pp. 1–14, 2001.

Published
2023-07-02