PRAVIN SINGH YADAV

Mr. PRAVIN SINGH YADAV

orcid

Research Focus & Metrics

Academic Career Length

6Years (2021-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
15 July 2024 in Applied Sciences
Verified
Journal Article
Open access
PDF file
PYPRAVIN SINGH YADAV
PRAVIN SINGH YADAV
RRRajwant Singh Rao
Rajwant Singh Rao
Alok MishraAlok Mishra
Alok Mishra
MGManjari gupta
Manjari gupta
Code smells are early warning signs of potential issues in software quality. Various techniques are used in code smell detection, including the Bayesian approach, rule-based automatic antipattern detection, antipattern identification utilizing B-splines, Support Vector Machine direct, SMURF (Support Vector Machines for design smell detection using relevant feedback), and immune-based detection strategy. Machine learning (ML) has taken a great stride in this area. This study includes relevant studies applying ML algorithms from 2005 to 2024 in a comprehensive manner for the survey to provide insight regarding code smell, ML algorithms frequently applied, and software metrics. Forty-two pertinent studies allow us to assess the efficacy of ML algorithms on selected datasets. After evaluating various studies based on open-source and project datasets, this study evaluated additional threats and obstacles to code smell detection, such as the lack of standardized code smell definitions, the difficulty of feature selection, and the challenges of handling large-scale datasets. The current studies only considered a few factors in identifying code smells, while in this study, several potential contributing factors to code smells are included. Several ML algorithms are examined, and various approaches, datasets, dataset languages, and software metrics are presented. This study provides the potential of ML algorithms to produce better results and fills a gap in the body of knowledge by providing class-wise distributions of the ML algorithms. Support Vector Machine, J48, Naive Bayes, and Random Forest models are the most common for detecting code smells. Researchers can find this study helpful in better anticipating and taking care of software development design and implementation issues. The findings from this study, which highlight the practical implications of ML algorithms in software quality improvement, will help software engineers fix problems during software design and development to ensure software quality.

11 April 2024 in IEEE Access
Verified
Journal Article
Open access
PYPRAVIN SINGH YADAV
PRAVIN SINGH YADAV
RRRajwant Singh Rao
Rajwant Singh Rao
Alok MishraAlok Mishra
Alok Mishra
(1) Background: Code smell is the most popular and reliable method for detecting potential errors in code. In real-world circumstances, a single source code may have multiple code smells. Multi-label code smell detection is a popular research study. However, limited studies are available on it, and there is a need for a standardized classifier for reliably identifying various multi-label code smells that belong to the method-level code smell category. The primary goal of this study is to develop a rule-based method for detecting multi-label code smells. (2) Methods: Binary Relevance, Label Powerset, and Classifier Chain methods are utilized with tree based single-label algorithms, including some ensemble algorithms in this research paper. The chi-square feature selection technique is applied to select relevant features. The proposed model is trained using 10-fold cross-validation, Random Search cross-validation parameter tuning, and different performance measures are used to evaluate the model. (3) Results: The proposed model achieves 99.54% of the best jaccard accuracy for detecting method-level code smells using the Classifier Chain method with the Decision Tree. The Decision Tree model incorporating a multi-label classifier outperforms alternative approaches to multi-label classification. Single-label classifiers produced better results after considering the correlation factor. (4) Conclusion: This study will facilitate scientists and programmers by providing a systematic method for detecting various code smells in software projects and saving time and effort during code reviews by detecting multiple problems simultaneously. After detecting multi-label code smell, programmers can create more organized, easier-to-understand, and trustworthy programs.

28 October 2024 in Engineering Applications of Artificial Intelligence
Verified
Journal Article
Open access
PYPRAVIN SINGH YADAV
PRAVIN SINGH YADAV
RRRajwant Singh Rao
Rajwant Singh Rao
Alok MishraAlok Mishra
Alok Mishra
MGManjari Gupta
Manjari Gupta

1 December 2021
Verified
Conference Paper
Closed access
PYPRAVIN SINGH YADAV
PRAVIN SINGH YADAV
SDSeema Dewangan
Seema Dewangan
RRRajwant Singh Rao
Rajwant Singh Rao
Code Smell is a set of information of a source code that indicates any serious problem in the software. To detect the code smell prediction rule, we have applied a Decision tree algorithm. For this objective, we have taken two code smell datasets namely Blob-class and Data-class from Fontana et al. These datasets were prepared from 74 open-source systems. To calculate the performance measurement of the decision tree model on each dataset, we applied 5-fold cross-validation that divides datasets into training set and testing set and further splitting the training set into two part, one part is used for training and second part is used for validation. We have applied grid search for hyper-parameter tuning followed by extraction of decision rules to detect code smell instances. We have achieved the highest accuracy of 97.62% in both class predictions.

21 July 2022
Verified
Conference Paper
Closed access
SDSeema Dewangan
Seema Dewangan
RRRajwant Singh Rao
Rajwant Singh Rao
PYPRAVIN SINGH YADAV
PRAVIN SINGH YADAV
Code smells refer to the lack of the software quality, such as difficulty in understandability and changeability. In this research work, we proposed a technique to detect the CSs using three machine learning algorithms. For this purpose, we used two class level and two method level datasets. In this research work, a principle component analysis (PCA) based dimensionality reduction technique is applied to select different components from each datasets. Four PCA based machine learning algorithms are applied, namely Principal component analysis based Logistic regression (PCA_LR), Principal component analysis based Random forest (PCA_RF), Principal component analysis based K-nearest neighbor (PCA_KNN), and Principal component analysis based Decision tree (PCA_DT). The 10-fold cross-validation is used to validate the model accuracy. In this research work, we found that the PCA_LR model gives the best accuracy, 99.97%, for the data class dataset, while the worst accuracy, 77.38%, was found by the PCA_KNN model for the long parameter list dataset.