IAES Inter national J our nal of Articial Intelligence (IJ-AI) V ol. 14, No. 1, February 2025, pp. 376 ∼ 384 ISSN: 2252-8938, DOI: 10.11591/ijai.v14.i1.pp376-384 ❒ 376 A systematic analysis on machine lear ning classiers with data pr e-pr ocessing to detect anti-patter n fr om sour ce code Nazneen Akhter 1 , Afrina Khatun 1 , Md. Sazzadur Rahman 2 , A. S. M. Sanwar Hosen 3 , Mohammad Shahidul Islam 2 1 Department of Computer Science and Engineering, Bangladesh Uni v ersity of Professionals, Dhaka, Bangladesh 2 Institute of Information T echnology , Jahangirnag ar Uni v ersity , Dhaka, Bangladesh 3 Department of Articial Intelligence and Big Data, W oosong Uni v ersity , Daejeon, South K orea Article Inf o Recei v ed Jan 16, 2024 Re vised Jul 10, 2024 Accepted Jul 26, 2024 K eyw ords: Anti-pattern Code quality Code smell Data pre-processing Machine learning ABSTRA CT Automatic detection of anti-patterns from source code can reduce softw are maintenance costs massi v ely . No w adays, machine learning approaches are v ery commonly use d to ide ntify anti-patterns. Hence, it is v ery crucial to choose a classier that can be useful for detecting anti -patterns. This w ork aims to help practitioners to choose a suitable classier to detect anti-patterns. In this paper , we highlight 16 classiers in four dif ferent cate gories to detect anti-patterns. Furthermore, the performance of these classiers is identied with the data pre-processing (DPP) to detect four com monly occurring anti-patterns from the three commonly used open-source Ja v a projects’ source code. The accurac y of Dagging classiers is 98.4%. K ernel logistic re gression (KLR) also performs well i.e., 97%. In the case of time comple xity , nai v e Bayes (NB), decision trees (DT), support v ector machines (SVM), library for support v ector machines (LibSVM), logistic, and LightGBM (LB) ha v e less time comple xity to b uild a model in all the projects. This is an open access article under the CC BY -SA license . Corresponding A uthor: A. S. M. Sanw ar Hosen Department of Articial Intelligence and Big Data, W oosong Uni v ersity Daejeon 34606, South K orea Email: sanw ar@wsu.ac.kr 1. INTR ODUCTION Softw are quality is v ery important as it denes the ease of maintainability , testability , re adability , stability , speed, usability , size, cost, and security . It also ensures the smoothness, conciseness, and customer satisf action of softw are. Ho we v er , due to the hea vy w orkload and time pressure, softw are quality issues are usually ignored. Some reports sho w that softw are e v olution, understandability , usability , modularity , reusabil- ity , analyzability , and changeability are ne glected during the de v elopment process of t he softw are [1]. As a result, design a ws i.e., poor structure in the source code increase the de v elopment and maintenance cost. These design a ws are termed as anti-pattern or code smell. P alomba et al. [2] report that the maintenance cost of softw are is 2–100 times greater than the de v elopment cost. The term code smell (anti-pattern) is rst introduced in [3]. Anti-patterns from a source code can be detected both by manual and automated processes. F or lar ge softw are projects, the manual detection system is a v er y time-consuming process as it mainly de- pends on proper docum entation, source code structure, and de v eloper’ s e xperience [1]. Hence, an automated and ef fecti v e anti-pattern detection technique is essential. Although fe w studies are a v ailable in this eld. Sometimes people may become confused about choosing machine learning (ML) classiers and en vironmental J ournal homepage: http://ijai.iaescor e .com Evaluation Warning : The document was created with Spire.PDF for Python.
Int J Artif Intell ISSN: 2252-8938 ❒ 377 setup. Se v eral researchers introduced three dif ferent support v ector machines (SVM)-based approaches [4]–[6]. Maig a et al. did not adopt an y data pre-processing (DPP) technique, while Akhter et al. adopted a DPP technique namely synthetic minority o v er -sampling technique (SMO TE) with SVM which performed better than synthetic minority under -sampling with random forest (SMURF). Fi v e dif ferent ML classiers: J48, random forest (RF), nai v e Bayes (NB), SVM, and just-in-time rule induction procedure (JRIP) to detect anti- pattern are used in [7]. The y reported NB performed the best. The y did a comparison among ML classiers and detection of code and design smells (DECOR) (a method of code and design smell detection). The y reported that in terms of F-measure and recall , the performance of DECOR w as higher than NB b ut precision w as lo wer . The author used 16 dif ferent classiers and their boosting techniques (in total 32 classiers) [8]. The y reported that the best algorithm had approximately 97% of F-Score. The aforementioned researchers hardly use an y techniques to process the data. In comparison, a DPP technique can inuence the performance of the classier . As there are man y classiers most of the time researchers become puzzled to choose a classier . Hence, an appropriate classier selection is also a crucial study for anti-pattern detection. In this paper , a comprehensi v e study is conducted so that the practitioners can get a complete idea of choosing the classier and their w orking process. A data-prepossessing technique is adopted to enhance the performance of the classiers. This is ho w the remainder of the paper is structured. The background research on anti-pattern det ection is co v ered in section 2. In section 3, an e xplanation of the sugges ted methodology is pro vided along with an analysis of sixteen ML classiers. Section 4 addresses the outcome and e x ecution. Section 5 concludes this report by discussing future research. 2. LITERA TURE REVIEW ON ANTI-P A TTERN DETECTION Inadequate design raises the system’ s de v elopment and maintenance costs by lo wering perform ance and reusability . As a result, scholars de v el oped v arious theories to address this issue. The three main types of methodologies used in anti-pattern detection research that are currently in use are rule-based, ML-based, and deep learning-based. Detailed discussion is pro vided in the follo wing. The main aim of the rule-based approach is to propose a set of rules to nd anti-patterns. T o do that, se v eral researchers [9], [10] propose tw o dif ferent approaches to identify anti-patterns from the source code. Blob, spaghetti code, and functional decomposition by utilizing three heuristic search algorithms [9], [10]. Aras and Selcuk [11] pre sent an automated approach using metrics and rules to detect anti-patterns in an object-oriented system. Three anti-patterns are used namely Blob, Swiss Army Knife, and La v a Flo w . 36 Ja v a classes are focused on conducting this e xperiment. Ho we v er , the accurac y is not satisf actory . Due to issues with rule-based systems’ accurac y , researchers introduced ML techniques. The primary issue with the rule-based technique is that each smell has its o wn set of rules, all of which are manually specied by the researcher . A met h od for identifying design patterns utilizing ML-based techniques and softw are metrics has been put out by [12]. F or small scale, code recall is 90% b ut for lar ge scale code, it is 60%. T w o S VM-based methods, SMURF and SVMDetect, are introduced by Maig a et al. [5], [6] to identify four anti-patterns: Swiss Army Knife, Blob, functional decomposition, and spaghetti code. The precision and recal l for SMURF are 97% and 84.09% respecti v ely (Blob Class). After computation, the y report that SVMDetect can detect 143 anti- patterns whereas DETEX only detects 102 . The recall and precision rates of SVMDetect are 84 . 09 and 97 . 09 % respecti v ely for (Blob class). In terms of anti-pattern identication, both methods perform similarly and can identify 143 instances of blobs within the system. Barbez et al. [13] present an ensemble method called smart aggre g ation of anti-patterns detectors (SMAD) to detect god class and featur e en vy . SMAD combined dif ferent approaches depending on their internal detection rule. Y in et al. [14] reported that accurac y is more than 85% for the classier AB-J48-pruned, RF , and AdaBoost random forest (AB-RF) among 15 ML classiers. Azadi et al. [15] propose a tool named W ekaNose to in v estig ate code smell in a system . The y intend to characterize the instances that inuence the detection of code smell or not. Cruz et al. [16] introduce a detection technique with se v en dif ferent machine-learning algorithms for detecting four types of bad smells. K umar and Sureka [17] de v elop a predicti v e model to detect anti-patterns. The y ha v e mentioned that RF performed the best. Pritam et al. [18] e xamine the impact of code smell on the change tendenc y of a specic class in an item system which leads them to disco v er mistak es in e xpectation of progress inclination utilizing code smell. The y use 4100 unique classes of 14 softw are systems after per -processing. The y ha v e reported the sensiti vity is 0.70 and specicity higher than 0.67 for multi-layer perceptron (MLP). Jesudoss et al. [19] A systematic analysis on mac hine learning classier s with data pr e-pr ocessing to ... (Nazneen Akhter) Evaluation Warning : The document was created with Spire.PDF for Python.
378 ❒ ISSN: 2252-8938 propose another code smell detection technique utilizing tw o algorithms such as SVM and RF . SVM acted as a classier and the RF is used for predicting the range of data. From the abo v e discussion, we hardly found an y DPP adopted. As a result, the accurac y rate of the classi ers decreases. Most of the researchers used the same type of ML classiers lik e SVM, RF , and NB. It is a matter of concern that other classiers lik e ensemble or meta classiers performance are missing to detect anti-pattern. Kacem et al. [20] propose a h ybrid learning approach to identify four code smells namely god class, data class, feature en vy , and long method from 74 open-source systems. The y ha v e reported that the performance of god class w as v ery good (god class precision 99.28%, recall 98.58%, F-measure 98.93%). Das et al. [21] come up with a technique named con v olution neural netw orks (CNN) to detect code smells. The y ha v e achie v ed 97% accurac y for the Brain class and 95% for the Brain method. Barbez et al. [22] propose a method namely con v olutional analysis of code metrics e v olution (CAME) to detect anti-patterns. From the background study , it is found that DPP techniques are missing. ML classiers can enhance their performance if the model gets pre-processed data. Recent research w orks are using similar kinds of ML classiers (the most used classiers are SVM, NB, and RF). Sometimes it becomes v ery tough to choose a classier for the practitioner to w ork in this eld. 3. ANTI-P A TTERN DETECTION MODEL In this paper , a constructi v e analysis of ML classiers is presented to detect anti-patterns. Sixteen dif ferent types of classiers ha v e been adopted to conduct the study . Considering their nature, classiers are di vided into four subgroups: function class iers, Bayes classiers, tree classiers, and meta classiers [23]. Figure 1 represents the details of the proposed model. A detailed description of those is pro vided to understand the w orking pri nciple of the classiers deeply in the case of anti-pattern detection. The follo wing describes the specics. Figure 1. The proposed methodology to detect anti-pattern from source code 3.1. Dataset and pr e-pr ocessing Three separate open-source Ja v a projects—Azureus v2.3.0.6, Xerces v2.7.0, and Ar goUML v0.19.8 are emplo yed in this study . Ar goUML is an applicat ion for creating unied modeling language (UML) dia- grams. The Ar goUML dataset comprises 1,230 classes. Azureus with 1,449 classes uses the bit-torrent protocol to trans mit data. The XML softw are library is called Xerces. There are 513 clas ses in t he Xereces d a ta le. This paper uses data sets supplied in [6]. T o balance the data and impro v e the characteristics, we e xamined SMO TE as a DPP technique in this paper . This technique randomly chooses the minority class instance, and the k closest minority class neighbors are found. Afterw ard, a line se gment in the feature space is formed by joining a and b, one of the k nearest neighbors (b), at random to generate the synthetic instance. The tw o selected e xamples, a and b, are used to create the synthetic instances by using the con v e x combination [24]. Consequently , ne w synthetic instances are generated that can be referred to as feature-boosting techniques. 3.2. Critical analysis of classiers on anti-patter n detection Functional classiers mainly include the idea of neural netw orks and re gression. The main procedure of a functional classier is to assign data labels based on a function that is also kno wn as the core function of the classier . In this w ork, v e functional classiers are considered. The rst classier SVM performs the classication by calculating a boundary v alue kno wn as a h yperplane that dif ferentiates tw o data clas ses. SVM is broadly cate gorized into tw o groups; linear and non-linear SVM [25]. Non-linear SVM utilizes k ernel tricks to classify data. The k ernel function is used to transform lo wer dimensional input space into higher dimensional space. K ernel logistic re gression (KLR) solv es the classication problems by transforming the real input space into a high-dimensional feature space by utilizing k ernel functions [26]. LibSVM is a complete package of SVM. This classier can support v arious SVM formulations for classication [27]. In this project, support Int J Artif Intell, V ol. 14, No. 1, February 2025: 376–384 Evaluation Warning : The document was created with Spire.PDF for Python.
Int J Artif Intell ISSN: 2252-8938 ❒ 379 v ector classication (SVC) (tw o-class and multi-class) is used. Logistic re gression predicts t he odds ratio which is the e v ent that needs to be predicted, for e xample, ho w lik ely a sample is an anti-pattern [28]. Multi- layer perceptron classier (MLPCL) can train fully connected MLP netw orks with one hidden layer . F or further processing, all attrib utes are standardized (it gi v es all features the same inuence). In this project, conjug ate gradient descent is used as it can reduce the time comple xity . The Bayes classier pro vides a probabilistic model. that mak es the most probable prediction for a ne w e xample. The Bayes theorem is used to calculate the conditional probability . Nai v e Bayes (NB) is a classier that uses a probabilistic approach for the classi cation tasks. NB follo ws the follo wing equation to calculate the posterior probability for each class [29]. The classes that ha v e the highest posterior probabil ity are the output of prediction. T ree classiers di vide the training data into subsets by utilizing a sequence of conditional statement s. Nai v e-Bayesian tree (NBT ree) classier combines a decision tree (DT) with a NB classier [30]. The tree is constructed recursi v ely to represent the attrib utes of the dataset. The nodes of the tree utilize the DT classier . On the other hand, the lea v es contain nai v e-Bayesian classiers [31]. DT utilizes instances of data to create trees. When the tree construction is done, it prunes the trees to impro v e the model’ s performance. In this w ork, an adv anced decision tree algorithm namely the C4.5 algorithm is used (called J48 in W eka) [32]. Decision stump (DS) is simply a DT that utilizes a single attrib ute for splitting [33]. It creates a single root tree of the gi v en v alues using a top-do wn greedy approach. RF creates a forest of randomly generated DT . RF combines the output of the DT to form the nal output. The number of trees denes the accurac y of the classiers. F or e xample, the more trees, the more accurac y is produced. In our implementation, 100 trees are created [34]. Meta classi ers can ensembl e dif ferent cl assiers to enhance the perform ance of the base classier s. Logit boost (LB) is a meta classier that is based on the AdaBoost classier . Among the weighted sample, higher weights will be assigned to the unclassied data [35]. Real AdaBoost (RAB) is a boosting classier for the binary classication task. Here, the weak learner algorithm pro vides class probability estimation [36]. Probability estimation: P ( x ) = P w ( Y = 1 | x ) ϵ [0 , 1] (1) Here, w is the weight of the training data. In this study , the DS is used as the base classier . The number of iterations is considered 10. It updates the weights on e v ery iteration. Bagging is an ensemble learner that randomly redistrib utes the original training dataset for indi vi dual base models [37]. V oting or a v eraging their prediction probabilities gi v es a nal prediction. Di v erse ensemble creation by opposi tional re-labeling of articial training e xamples (DECORA TE) is designed to use additional articially generated training data [37]. Additionally , it achie v es equi v alent performance on bigger training sets and g ains higher accurac y than boosting on the small training set [38]. Dagging creates se v eral disjoint, stratied folds of the data to predict the nal output by a v eraging them [39]. V oting is another ensemble algorithm that creates tw o or more sub-models with the base cl assiers to classify data. The nal prediction is done by aggre g ating the sub-model predictions. In majority v oting, the nal prediction is made by combining the sub-models output. The class that gets the most number of v otes will be the output of the classication [40]. 4. RESUL T AN AL YSIS The performance analysis of v arious ML classiers is presented in this section. Fi v e e v aluation metri cs are used: accurac y , F-measure, precision, recall, and recei v er operating characteristic (R OC). An Inte l Core i3 processor with 4 GB RAM and a 64-bit operating system is used for the e xperiment. WEKA is emplo yed in the implementation of the classier models. The details are described in the follo wing. 4.1. Resear ch questions and e v aluation Three research issues are addressed in this section to v alidate the anti-pattern detection technique. In RQ1, the signicance of the DPP technique is briey discussed. The performance of classiers in terms of computing time is sho wn in RQ2. Each study question is thoroughly described and e v aluated in the analysis that follo ws. 4.1.1. RQ1: Ho w well do classiers w ork with data pr e-pr ocessing techniques to nd anti-patter ns? In the proj ect of Ar goUML, the Dagging classier performs better in terms of accurac y than other classiers. The accurac y of the Dagging is 98.4% when DS i s used as a base classier . The accurac y of DS as A systematic analysis on mac hine learning classier s with data pr e-pr ocessing to ... (Nazneen Akhter) Evaluation Warning : The document was created with Spire.PDF for Python.
380 ❒ ISSN: 2252-8938 an indi vidual classier is 91.37%. Dagging breaks the original training dataset into sm all chunks. W ith these small chunks of data, the base classier can train itself well. So, it can classify data more accurately from the test dataset. F or this dataset, the NB classier performs poorl y in terms of accurac y , 79.37%. This is because of the high dependenc y on the dataset attrib utes. The Dagging classier is also used on the dataset using the NB as the base classier . F or that case, the accurac y of Dagging becomes 91.99%. Hence, it can be said that meta-classiers lik e Dagging can enhance the performance of weak-performed classiers. T able 1 sho ws the detailed result of the classiers in terms of accurac y for Ar goUML, Azureus, and Xerces project. In the project of Azureus, data are non-linearly separable. The accurac y of KLR is 97%. This is because KLR can perform well with non-linearly separate data. KLR of fers a natural es timate of the class probability . On the other side, the Dagging classier performed poorly for this project. DS is used as the base classier . T able 1. Accurac y of the classiers for Ar goUML, Azureus, and Xerces projects Classiers Accurac y (Ar goUML) (%) Accurac y (Azureus) (%) Accurac y (Xerces) (%) SVM 92.48 90.32 91.49 NB 79.37 76.51 73.71 RF 92.78 92.03 93.35 DT 90.3 91.15 87.76 LibSVM 96.55 90.37 95.82 Logistic 90.78 81.27 88.58 KLR 91.82 96.99 89.90 NBT ree 88.03 85.31 86.60 MLPCL 91.86 93.93 90.285 RAB 92.31 92.61 93.08 Bagging 91.78 91.8 88.47 Dagging 98.37 68.69 96.04 LB 91.82 96.01 92.59 DECORA TE 92.92 91.67 92.75 DS 91.37 87.26 89.02 Performance of tree classiers: i n this w ork, four tree classiers ha v e been used; DT , RF , NBT ree, and DS. Among those, the RF classier performs better than other classiers for all three projects. The accurac y of RF for Ar goUML, Azureus, and Xerces are 92.8%, 92.03%, 93.4%, respecti v ely . This i s because the RF is an ensem ble learner that nds the best features from the dataset randomly . The nal prediction is done by combining the output of man y decision trees. NBT ree performs lo wer than other tree classiers. The accurac y of NBT ree for the three projects is 88.03%, 84.81%, and 86.61%, respecti v ely . NBT ree utilizes NB in the lea v es of the tree. NB tree sho ws minimum performance for the dependent dataset which is the main reason behind performing lo w for NBT ree. Performance of ensemble classiers: for the project of Ar goUML, Dagging classier performs the best whose accurac y is 98.48%. Figure 2 sho ws the detail ed result of bagging, boosting, dagging, and DECORA TE classiers according to their accurac y . Here, DS is used as a base classier . Figure 2. Performance of meta classiers and v oting classier for Ar goUML project Int J Artif Intell, V ol. 14, No. 1, February 2025: 376–384 Evaluation Warning : The document was created with Spire.PDF for Python.
Int J Artif Intell ISSN: 2252-8938 ❒ 381 Performance of v oting classier: in this w ork, tw o combination rules of v oting are used; a v erage v oting and majority v oting. The sub-models of v oting classiers are decided on the indi vidual performance of the classiers. F or e xample, in the Ar goUML project, NB, DT , logistic, KLR, NBT ree, and MLPCL classier’ s performance is w orse than other classiers. So, the y are used as the base classier of v oting for the Ar goUML project. In this w ork, some combinations of base classie rs are used to e v aluate the result. First, the result of NB and DT is noted do wn. Then classiers are added to check the performance of the V oting classier one by one. Figure 2 reports the detailed result of the v oting classier according to their base classiers. The accurac y of NB and DT are 79.37% and 90.3% respecti v ely . When it is used as the sub-models of the v oting classier , the accurac y has been increased to 91.68% (both for a v erage and majority v oting). In the Xerces project, NB performs poorly than other classiers in terms of accurac y . Other classiers lik e DT , logistic, KLR, and bagging cannot pro vide satisf actory results either . So, the dif ferent combinations of classiers are tak en as a base classier for the v oting meta classier to e v aluate the result. When NB and DT are tak en as a combination of base classiers, the accurac y has been increased i.e., 90.61%. From this analysis, it can be said that v oting classiers can increase the performance (proper combination of base classiers) than indi vidual classiers. T able 2 sho ws the result of the classiers in terms of recall and accurac y . T able 2. Recall and accurac y of classiers with and without DPP for Ar goUML project Classiers Recall (without DPP) Recall (with DPP) Accurac y (without DPP) Accurac y (with DPP) SVM 0.925 0.948 0.921 0.925 NB 0.739 0.833 0.739 0.793 RF 0.926 0.949 0.915 0.927 DT 0.903 0.935 0.901 0.903 LibSVM 0.954 0.964 0.953 0.965 Logistic 0.899 0.932 0.899 0.907 KLR 0.918 0.943 0.912 0.918 NBT ree 0.931 0.941 0.875 0.88 MLP CL 0.916 0.943 0.916 0.918 RAB 0.919 0.945 0.918 0.923 Bagging 0.916 0.943 0.915 0.917 Dagging 0.981 0.983 0.974 0.983 LB 0.918 0.944 0.908 0.918 DECORA TE 0.925 0.949 0.925 0.929 DS 0.913 0.942 0.913 0.913 In comparison wit h the DPP , we found most of the classiers perform well. Dagging classier per - forms better than other classiers in terms of accurac y i.e., 97.4% whereas the accurac y of dagging is 98.3% with the DPP . Maig a et al. [5], [6] proposed tw o SVM-based w orks SMURF and SVMDetect. The recall of SMURF and SVMDetect is 84.09%. Whereas after using DPP the recall of SVM enhances to 94.8% in this w ork. Furthermore, from T able 3 we can see that, DPP is increasing the recall of the classiers to detect anti-patterns. T able 3. Comparison of proposed w ord with e xisting models in terms of recall Authors Model Recall (%) Maig a et al. [5] SMURF 84.09 Maig a et al. [6] SVMDetect 84.09 Proposed method SVM with DPP 94.8 4.1.2. RQ2: Ho w do the classiers perf orm in terms of time? In this w ork, sixteen dif ferent classiers are tak en into consideration. Most of the classiers perf ormed well in terms of accurac y and time. NB, DT , SVM, LibSVM, logistic, and LB ha v e tak en less time to b uild a model. The y ha v e tak en 0.01 seconds to create the model. NBT ree has tak en the most time to b uild the model which is 0.68 seconds. The v oting classier also tak es more time when NBT ree is added with other classiers. From the performance analysis of dif ferent classiers on dif ferent projects, it can be said that NBT ree performs poorly in terms of time than other classiers. Figure 3 sho ws the detailed result of the time that is tak en by the classiers to b uild the model. A systematic analysis on mac hine learning classier s with data pr e-pr ocessing to ... (Nazneen Akhter) Evaluation Warning : The document was created with Spire.PDF for Python.
382 ❒ ISSN: 2252-8938 Figure 3. T ime comple xity to b uild the model for Ar goUML project 5. CONCLUSION Anti-pattern is a signicant nuisance in source code which violates the standard of design pattern. Softw are quality mak es the softw are understandable, reusable, and cost-ef fecti v e. Hence, anti-pattern detection has become a major concern. Ho we v er , there are man y dif culties in choosing appropriate classiers to identify the design pattern. In this paper , a detailed discussion about 16 dif ferent well-kno wn classiers is done to detect anti-patterns. This analysis will help practitioners to choose suitable classiers. In addition, to impro v e the performance of the class iers, SMO TE DPP is used. Our classiers performed better with DPP than the e xisting models without DPP . Dagging, KLR, and LibSVM perform better in terms of accurac y for respecti v e projects. The accurac y of them is 98.4%, 97%, and 95.83% respecti v ely . Ho we v er , this w ork presents better accurac y than e xisting models. Ho we v er , the data size used for this w ork is small. In the future, the dataset size can be increased by adding more samples. The data set can be applied to a deep learning model adopting an attention mechanism. A CKNO WLEDGEMENTS This w ork w as supported by the W oosong Uni v ersity Academic Research Fund, 2024, South K orea. REFERENCES [1] G. Rasool and Z. Arshad, “ A re vie w of code smell mining techniques, ” J ournal of Softwar e: Evolution and Pr ocess , v ol. 27, no. 11, pp. 867–895, 2015, doi: 10.1002/smr .1737. [2] F . P alomba, G. Ba v ota, M. D. Penta, R. Oli v eto, A. D. Lucia, and D. Posh yv an yk, “Detecting bad smells in source code using change history information, ” in 2013 28th IEEE/A CM International Confer ence on A utomated Softwar e Engineering (ASE) , 2013, pp. 268–278, doi: 10.1109/ASE.2013.6693086. [3] M . F o wler , K. Beck, J. Brant, W . Opdyk e, D. Roberts, and E. Gamma, Refactoring: impr o ving the design of e xisting code . Ne w Y ork, United States of America: Pearson Education, 1999. [4] N. Akhter , S. Rahman, and K. A. T aher , “ An anti-pattern detection technique using machine learning to impro v e code quality , ” in 2021 International Confer ence on Information and Communication T ec hnolo gy for Sustainable De velopment (ICICT4SD) , 2021, pp. 356–360, doi: 10.1109/ICICT4SD50815.2021.9396937. [5] A. Maig a, N. Ali, N. Bhattacharya, A. Sabane, Y . -G. Gueheneuc, and E. Aimeur , “SMURF: A SVM-based incremental anti-pattern detection approach, ” in 2012 19th W orking Confer ence on Re ver se Engineering , 2012, pp. 466–475, doi: 10.1109/WCRE.2012.56. [6] A . Maig a et al. , “Support v ector machines for anti-pattern detection, ” in 2012 27th IEEE/A CM International Conf er ence on A uto- mated Softwar e Engineering , 2012, pp. 278–281, doi: 10.1145/2351676.2351723. [7] F . Pecorelli, F . P alomba, D. D. Nucci, and A. D. Lucia, “Comparing heuristic and machine learning approaches for metric-based code smell detection, ” in IEEE International Confer ence on Pr o gr am Compr ehension , 2019, pp. 93–104, doi: 10.1109/ICPC.2019.00023. [8] F . A. F ontana, M. V . M ¨ antyl ¨ a, M. Zanoni, and A. Marino, “Comparing and e xperimenting machine learning techniques for code smell detection, ” Empirical Softwar e Engineering , v ol. 21, no. 3, pp. 1143–1191, 2016, doi: 10.1007/s10664-015-9378-4. [9] M. K essentini, H. Sahraoui, M. Boukadoum, and M. W immer , “Search-based design defects detection by e xample, ” in Fundamental Appr oac hes to Softwar e Engineering , Berlin, Heidelber g, 2011, pp. 401–415, doi: 10.1007/978-3-642-19811-3 28. [10] I. P ol ´ a ˇ sek, S. Snopk o, and I. Kapustik, “ Automatic identication of the anti-patterns using the rule-based approach, ” in 2012 IEEE 10th J ubilee International Symposium on Intellig ent Systems and Informatics , 2012, pp. 283–286, doi: 10.1109/SISY .2012.6339530. [11] M . T . Aras and Y . E. Selcuk, “Metric and rule based aut omated detection of antipatterns in object-oriented softw are sys- tems, ” in 2016 7t h International Confer ence on Computer Science and Information T ec hnolo gy (CSIT) , 2016, pp. 1–6, doi: 10.1109/CSIT .2016.7549470. [12] S . Uchiyama, H. W ashizaki, Y . Fukaza w a, and A. K ubo, “Design pattern detection using softw are metrics and machine learning, ” F ir st international workshop on model-driven softwar e migr ation (MDSM 2011) , v ol. 708, pp. 38–47, 2011. [13] A. Barbez, F . Khomh, and Y .-G. Gu ´ eh ´ eneuc, “ A machine-learning based ensemble method for anti-patterns detection, ” J ournal of Systems and Softwar e , v ol. 161, 2020, doi: 10.1016/j.jss.2019.110486. [14] Y . Y in, Q. Su, and L. Liu, “Softw are smell detection based on machine learning and its empirical study , ” in Second T ar g et Reco gni- tion and Articial Intellig ence Summit F orum , 2020, doi: 10.1117/12.2550500. Int J Artif Intell, V ol. 14, No. 1, February 2025: 376–384 Evaluation Warning : The document was created with Spire.PDF for Python.
Int J Artif Intell ISSN: 2252-8938 ❒ 383 [15] U. Azadi, F . A. F ontana, and M. Zanoni, “Machine learning based code smell detection through W ekaNose, ” in Pr oceed- ings of the 40th International Confer ence on Softwar e Engineering: Companion Pr oceeedings , 2018, pp. 288–289, doi : 10.1145/3183440.3194974. [16] D. Cruz, A. Santana, and E. Figueiredo, “Detecting bad smells with machine learning algorithms, ” in Pr oceedings of the 3r d International Confer ence on T ec hnical Debt , 2020, pp. 31–40, doi: 10.1145/3387906.3388618. [17] L. K umar and A. Sureka, “ An empirical anal ysis on web service anti-pattern detection using a machine learning frame w ork, ” in 2018 IEEE 42nd Annual Computer Softwar e and Applications Confer ence (COMPSA C) , 2018, pp. 2–11, doi: 10.1109/COMP- SA C.2018.00010. [18] N. Pritam et al. , “ Assessment of code smell for predicting class change proneness using machine learning, ” IEEE Access , v ol. 7, pp. 37414–37425, 2019, doi: 10.1109/A CCESS.2019.2905133. [19] A. Jesudoss, S. Maneesha, and T . L. N. Dur g a, “Identication of code smell using machine learning, ” in 2019 International Confer - ence on Intellig ent Computing and Contr ol Systems (ICCS) , 2019, pp. 54–58, doi: 10.1109/ICCS45141.2019.9065317. [20] M. H. -Kacem and N. Bouassida, “ A h ybrid approach to detect code smells using deep learning, ” in Pr oceedings of the 13th International Confer ence on Evaluation of No vel Appr oac hes to Softwar e Engi neering , 2018, pp. 137–146, doi: 10.5220/0006709801370146. [21] A. K. Das, S. Y ada v , and S. Dhal, “Detecting code smells using deep learning, ” in IEEE Re gion 10 Annual International Confer ence , Pr oceedings/TENCON , 2019, pp. 2081–2086, doi: 10.1109/TENCON.2019.8929628. [22] A. Barbez, F . Khomh, and Y .-G. Gueheneuc, “Deep learning anti-patterns from code metrics history , ” in 2019 IEEE Internat ional Confer ence on Softwar e Maintenance and Evolution (ICSME) , 2019, pp. 114–124, doi: 10.1109/ICSME.2019.00021. [23] R. K. Dash, “Selection of the best classier from dif ferent datasets using WEKA, ” International J ournal of Engineering Resear c h & T ec hnolo gy (IJERT) , v ol. 2, no. 3, pp. 1–7, 2013. [24] N. V . Cha wla, K. W . Bo wyer , L. O. Hall, and W . P . K e gelme yer , “SMO TE: Synthetic minority o v er -s ampling technique, ” J ournal of Articial Intellig ence Resear c h , v ol. 16, pp. 321–357, 2002, doi: 10.1613/jair .953. [25] V . Jakkul a, “T utorial on support v ector machine (SVM), ” Sc hool of EECS, W ashington State Univer sity , v ol. 37, pp. 1–13, 2011. [26] W . Chen, X. Y an, Z. Zhao, H. Hong, D. T . Bui, and B. Pradhan, “Spatial prediction of landslide susceptibility using data mining- based k ernel logistic re gression, nai v e Bayes and RBFNetw ork models for the Long County area (China), ” Bulletin of Engineering Geolo gy and the En vir onment , v ol. 78, no. 1, pp. 247–266, 2019, doi: 10.1007/s10064-018-1256-z. [27] C. C. Chang and C. J. Lin, “LIBSVM: A library for support v ector machines, ” A CM T r ansactions on Intellig ent Systems and T ec hnolo gy , v ol. 2, no. 3, 2011, doi: 10.1145/1961189.1961199. [28] S. L. Cessie and J. C. V . Houwelingen, “Ridge estimators in logistic re gression, ” Applied statistics , v ol. 41, no. 1, pp. 191-201, 1992. [29] I. Rish, “ An empirical study of the nai v e bayes classier , ” IJCAI 2001 workshop on empirical methods in articial intellig ence , v ol. 3, no. 22, pp. 41–46, 2001. [30] R . K oha vi, “Scaling up the accurac y of nai v e-Bayes classiers: A decision-tree h ybrid, ” in 2nd International Confer ence on Knowl- edg e Disco very and Data Mining , KDD 1996 , 1996, pp. 202–207. [31] T . M. Christian and M. A yub, “Exploration of classication using NBT ree for predicting students’ performance, ” in 2014 Interna- tional Confer ence on Data and Softwar e Engineering (ICODSE) , 2014, pp. 1–6, doi: 10.1109/ICODSE.2014.7062654. [32] J. R. Quinlan, C4.5: Pr o gr am for mac hine learning . San Mateo, California: Mor g an Kaufmann Publishers, 1993. [33] C . Sammut and G. I. W ebb, “Decision stump, ” in Encyclopedia of Mac hine Learning , Boston, MA: Springer , 2011, pp. 262–263, doi: 10.1007/978-0-387-30164-8 202. [34] L. Breiman, “ Random forests, ” in Mac hine Learning , Springer , 2001, pp. 5–32, doi: 10.1023/A:1010933404324. [35] B. Zi ´ ołk o, S. Manandhar , R. C. W ilson, and M. Zi ´ ołk o, “Logitboost WEKA classi er speech se gmentation, ” in 2008 IEEE Interna- tional Confer ence on Multimedia and Expo , 2008, pp. 1297–1300, doi: 10.1109/ICME.2008.4607680. [36] J. Friedman, T . Hastie, and R. T ibshirani, “ Additi v e logisti c re gression: a statistical vie w of boosting (with discussion and a rejoinder by the authors), ” The Annals of Statistics , v ol. 28, no. 2, pp. 337–407, 2000, doi: 10.1214/aos/1016218223. [37] L. Breiman, “ Bagging predictors, ” Mac hine Learning , v ol. 24, no. 2, pp. 123–140, 1996, doi: 10.1023/A:1018054314350. [38] P . Ro y , R. Chakrabortty , I. Cho wdhuri, S. Malik, B. Das, and S. C. P al, “De v elopment of dif ferent machine learning ensemble classier for gully erosion s usceptibility in Gandhesw ari W atershed of W est Beng al, India , ” in Mac hine Learning for Intellig ent Decision Science , 2020, pp. 1–26, doi: 10.1007/978-981-15-3689-2 1. [39] J. Kittler , M. Hatef, R. P . W . Duin, and J. Matas, “On combining classiers, ” IEEE T r ansactions on P attern Analysis and Mac hine Intellig ence , v ol. 20, no. 3, pp. 226–239, 1998, doi: 10.1109/34.667881. [40] S. Sri v asta v a, “W eka: a tool for data preprocessing, classication, ensemble, clustering, and association rule mining, ” International J ournal of Computer Applications , v ol. 88, no. 10, pp. 26–29, 2014, doi: 10.5120/15389-3809. BIOGRAPHIES OF A UTHORS Nazneen Akhter completed her B.Sc. in Information and Communication Engineeri ng and M.Sc. in Information and Communication Engineering from the Department of Information and Communication T echnology of Bangladesh Uni v ersity of Professionals, besides se v eral professional skills. She joined the Department of Information and Communication T echnology as a lecturer in 2021. She is currently serving as a lecturer in the Department of Computer Science and Engineering at Bangladesh Uni v ersity of Professionals, Dhaka, Bangladesh. Her research areas of interest include softw are engineering, articial intelligence and applications, and natural language processing. She can be contacted at email: nazneen.akhter@b up.edu.bd. A systematic analysis on mac hine learning classier s with data pr e-pr ocessing to ... (Nazneen Akhter) Evaluation Warning : The document was created with Spire.PDF for Python.
384 ❒ ISSN: 2252-8938 Afrina Khatun obtained her B.Sc. in Softw are Engineering and M.Sc. in Softw are Engineering from the Institute of Information T echnology , Uni v ersity of Dhaka. She joined the Department of Information and Communication T echnology as a lecturer in 2021. Currentl y , she is w orking as an Assistant Professor at the Bangladesh Uni v ersity of Professionals in the Department of Computer Science and Engineering. Her research interest is the application of machine learning and deep learning in softw are engineering. She can be contacted at email: afrina.khatun@b up.edu.bd. Dr . Md. Sazzadur Rahman is w orking as a Professor at the Institute of Information T echnology (IIT), Jahangirnag ar Uni v ersity , Sa v ar , Dhaka-1342, Bangladesh. He recei v ed hi s Ph.D. in Material Science (Surf ace Science) from K yushu Uni v ersity , Japan as a MEXT scholarship grantee in 2015. Pre viously , he recei v ed his B.Sc. (Hons.) de gree and M.Sc. de gree in Applied Ph ysics, Elec- tronics, and Communication Engineeri ng from the Uni v ersity of Dhaka, Bangladesh. He has about 14 years of e xperi ence in research and teaching in electronics, internet of things, machine learning, communication engineering, and material science. No w he is w orking as a co-in v estig ator on the DI- VERSASIA Erasmus+ project (project number 618615-EPP-1-2020-1-UKEPPKA2-CBHEJP). He can be contacted at email: sazzad@juni v .edu. A. S. M. Sanwar Hosen recei v ed the M.S. and Ph.D. de grees in computer science and engineering from Jeonb uk National U ni v ersity , Jeonju, South K orea. He is currently an Assistant Professor at the Department of Articial Intelligence and Big Data, W oosong Uni v ersity , Daejeon, South K orea. He has published se v eral articles in journals and international conferences. His current research interests include wireless sensor netw orks, the internet of things, fog-cloud computing, c yber security , articial intelligence, and blockchain technology . He has been an e xpert re vie wer for IEEE T ransactions, Else vier , Springer , and MDPI journals and mag azi nes. He has also been in vited to serv e as the T echnic al Program Committee Member f or se v eral reputed international confer ences, such as IEEE A CM. He can be contacted at email: sanw ar@wsu.ac.kr or sanw ar@jbnu.ac.kr . Mohammad Shahidul Islam recei v ed his Ph.D. in Computer Science and Information Systems from the Na tional Institute of De v elopment Administration (NID A), Bangk ok, Thailand, B.T ech. in Computer Science and T echnology from the Indian Institute of T echnology-Roork ee (IITR), Uttar Pradesh, India in 2002, M.Sc. in Mobile Computing and Communication from Uni- v ersity of Greenwich, London, U.K in 2008. His research interests include articial intelligence, robotics, machine learning, pattern recognition, and rene w able ener gy . He can be contacted at email: suv a.93@grads.nida.ac.th or suv a93@gmail.com. Int J Artif Intell, V ol. 14, No. 1, February 2025: 376–384 Evaluation Warning : The document was created with Spire.PDF for Python.