[1] FOWLER M. Refactoring: improving the design of existing code[M]. 2nd ed. New York: Addison-Wesley Professional, 2018: 75-87.
[2] TUFANO M, PALOMBA F, BAVOTA G, et al. When and why your code starts to smell bad[C]//Proceedings of the IEEE/ACM 37th International Conference on Software Engineering, Florence, May 16-24, 2015. New York: IEEE Press, 2015: 403-414.
[3] CANFORA G, CERULO L, PENTA M D. On the user of line co-change for identifying crosscutting concern code[C]//Proceedings of the 22nd IEEE International Conference on Software Maintenance, Philadelphia, Sept 24-27, 2006. New York: IEEE Press, 2006: 403-414.
[4] MOHA N, GUEHENEUC Y G, DUCHIEN L, et al. DECOR: a method for the specification and detection of code and design smells[J]. IEEE Transaction on Software Engineering, 2010, 36(1): 20-36.
[5] FOKAEFS M, TSANTALIS N, STROULIA E, et al. JDeodorant: identification and application of extract class refactorings[C]//Proceedings of the 33rd International Conference on Software Engineering, Honolulu, May 21-28, 2011. New York: ACM Press, 2011: 1037-1039.
[6] JAIN S, SAHA A. Improving performance with hybrid feature selection and ensemble machine learning techniques for code smell detection[J]. Science of Computer Programming, 2021, 212: 102713.
[7] PECORELLI F, PALOMBA F, NUCCI D D, et al. Comparing heuristic and machine learning approaches for metric-based code smell detection[C]//Proceedings of the 27th IEEE/ACM International Conference on Program Comprehension, Montreal, May 25-26, 2019. New York: IEEE Press, 2019: 93-104.
[8] PALOMBA F, BAVOTA G, PENTA M D, et al. Do they really smell bad? A study on developers’perception of bad code smells[C]//Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution, Victoria, Sept 29-Oct 3, 2014. Washington DC: IEEE Computer Society, 2014: 101-110.
[9] FONTANA F A, MIKA V M, ZANONI M, et al. Comparing and experimenting machine learning techniques for code smell detection[J]. Empirical Software Engineering, 2015, 21(3): 1143-1191.
[10] AZEEM M I, PALOMBA F, LIN S, et al. Machine learning techniques for code smell detection: a systematic literature review and meta-analysis[J]. Information and Software Technology, 2019, 108: 115-138.
[11] BOUTAIB S, ELARBI M, BECHIKH S, et al. Handling uncertainty in SBSE: a possibilistic evolutionary approach for code smells detection[J]. Empirical Software Engineering, 2022, 27(6): 1-78.
[12] ALAZBA A, ALJAMAAN H. Code smell detection using feature selection and stacking ensemble: an empirical investigation[J]. Information and Software Technology, 2021, 138: 106648.
[13] DUBOIS D D, HENRI P. Unfair coins and necessity measures: towards a possibilistic interpretation of histograms[J]. Fuzzy Sets Systems, 1983, 10(1/3): 15-20.
[14] 田迎晨, 李柯君, 王太明, 等. 代码坏味研究综述[J]. 软件学报, 2023, 34(1): 150-170.
TIAN Y C, LI K J, WANG T M, et al. Survey on code smells[J]. Journal of Software, 2023, 34(1): 150-170.
[15] MCCABE T J. A complexity measure[J]. IEEE Transactions on Software Engineering, 1976, 2(4): 308-320.
[16] CHIDAMBER S R, KEMERER C F. A metrics suite for object oriented design[J]. IEEE Transactions on Software Engineering, 1994, 20(6): 476-493.
[17] GUPTA A, CHAUHAN N K. A severity-based classification assessment of code smells in kotlin and Java application[J]. Arabian Journal for Science and Engineering, 2022, 47(2): 1831-1848.
[18] GUGGULOTHU T, MOIZ S A. Code smell detection using multi-label classification approach[J]. Software Quality Journal, 2020, 28(3): 1063-1086.
[19] DAS A K, YADAV S, DHAL S. Detecting code smells using deep learning[C]//Proceedings of the TENCON IEEE Region 10 Conference, Kochi, Oct 17-20, 2019. New York: IEEE Press, 2019: 2081-2086.
[20] ANICHE M. Java code metrics calculator (CK)[EB/OL]. (2015-10-05)[2022-07-09]. https://github.com/mauricioaniche/ck.
[21] BOUTAIB S, ELARBI M, BECHIKH S, et al. Software anti-patterns detection under uncertainty using a possibilistic evolutionary approach[C]//Proceedings of the 24th European Conference on Genetic Programming (Part of EvoStar), Seville, Apr 7-9, 2021. Berlin: Springer, 2021: 181-197.
[22] BREIMAN L. Bagging predictors[J]. Machine Learning, 1996, 24(2): 123-140.
[23] BELL R M, OSTRAND T J, WEYUKER E J. The limited impact of individual developer data on software defect prediction[J]. Empirical Software Engineering, 2013, 18(3): 478-505.
[24] KOHAVI R. A study of cross-validation and bootstrap for accuracy estimation and model selection[C]//Proceedings of the 14th International Joint Conference on Artificial Intelligence, Montreal, Aug 20-25, 1995. San Francisco: Morgan Kaufmann, 1995: 1137-1145.
[25] PALOMBA F, BAVOTA G, PENTA M D, et al. On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation[J]. Empirical Software Engineering, 2018, 23(3): 1188-1221.
[26] PECORELLI F, NUCCI D D, ROOVER C D, et al. On the role of data balancing for machine learning-based code smell detection[C]//Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, Tallinn, Aug 27, 2019. New York: ACM Press, 2019: 19-24.
[27] GENUER R, POGGI G M, TULEAU-MALOT C, et al. Random forests for big data[J]. Big Data Research, 2017, 9: 28-46.
[28] COHEN J. A coefficient of agreement for nominal scales[J]. Educational and Psychological Measurement, 1960, 20(1): 37-46.
[29] FLEISS J L, COHEN J. The equivalence of weighted kappa and the intraclass correlation coefficient as measures of reliability[J]. Educational and Psychological Measurement, 1973, 33(3): 613-619.
[30] BARUCH Y. Response rate in academic studies—a comparative analysis[J]. Human Relations, 1999, 52(4): 421-438.
[31] PALOMBA F, BAVOTA G, PENTA M D, et al. Mining version histories for detecting code smells[J]. IEEE Transactions on Software Engineering, 2015, 41(5): 462-489. |