6 research outputs found

    Detecting SQL Injection Attacks by Binary Gray Wolf Optimizer and Machine Learning Algorithms

    Get PDF
    SQL injection is one of the important security issues in web applications because it allows an attacker to interact with the application’s database. SQL injection attacks can be detected using machine learning algorithms. The effective features should be employed in the training stage to develop an optimal classifier with optimal accuracy. Identifying the most effective features is an NP-complete combinatorial optimization problem. Feature selection is the process of selecting the training dataset’s smallest and most effective features. The main objective of this study is to enhance the accuracy, precision, and sensitivity of the SQLi detection method. In this study, an effective method to detect SQL injection attacks has been proposed. In the first stage, a specific training dataset consisting of 13 features was prepared. In the second stage, two different binary versions of the Gray-Wolf algorithm were developed to select the most effective features of the dataset. The created optimal datasets were used by different machine learning algorithms. Creating a new SQLi training dataset with 13 numeric features, developing two different binary versions of the gray wolf optimizer to optimally select the features of the dataset, and creating an effective and efficient classifier to detect SQLi attacks are the main contributions of this study. The results of the conducted tests indicate that the proposed SQL injection detector obtain 99.68% accuracy, 99.40% precision, and 98.72% sensitivity. The proposed method increases the efficiency of attack detection methods by selecting 20% of the most effective features

    Maximizing Coverage and Maintaining Connectivity in WSN and Decentralized Iot: An Efficient Metaheuristic-Based Method for Environment-Aware Node Deployment

    No full text
    The node deployment problem is a non-deterministic polynomial time (NP-hard). This study proposes a new and efficient method to solve this problem without the need for predefined circumstances about the environments independent of terrain. The proposed method is based on a metaheuristic algorithm and mimics the grey wolf optimizer (GWO) algorithm. In this study, we also suggested an enhanced version of the GWO algorithm to work adaptively in such problems and named it Mutant-GWO (MuGWO). Also, the suggested model ensures connectivity by generating topology graphs and potentially supports data transmission mechanisms. Therefore, the proposed method based on MuGWO can enhance resources utilization, such as reducing the number of nodes, by maximizing the coverage rate and maintaining the connectivity. While most studies assume classical rectangle uniform environments, this study also focuses on custom (environmentaware) maps in line with the importance and requirements of the real world. The motivation of supporting custom maps by this study is that environments can consist of custom shapes with prioritized and critical areas. In this way, environment awareness halts the deployment of nodes in undesired regions and averts resource waste. Besides, novel multi-purpose fitness functions of the proposed method satisfy a convenient approach to calculate costs instead of using complicated processes. Accordingly, this method is suitable for large-scale networks thanks to the capability of the distributed architecture and the metaheuristic-based approach. This study justifies the improvements in the suggested model by presenting comparisons with a Deterministic Grid-based approach and the Original GWO. Moreover, this method outperforms the fruit fly optimization algorithm, bat algorithm (BA), Optimized BA, harmony search, and improved dynamic deployment technique based on genetic algorithm methods in declared scenarios in literature, considering the results of simulations

    A Novel Metaheuristic Based Method for Software Mutation Test Using the Discretized and Modified Forrest Optimization Algorithm

    No full text
    The number of detected bugs by software test data determines the efficacy of the test data. One of the most important topics in software engineering is software mutation testing, which is used to evaluate the efficiency of software test methods. The syntactical modifications are made to the program source code to make buggy (mutated) programs, and then the resulting mutants (buggy programs) along with the original programs are executed with the test data. Mutation testing has several drawbacks, one of which is its high computational cost. Higher execution time of mutation tests is a challenging problem in the software engineering field. The major goal of this work is to reduce the time and cost of mutation testing. Mutants are inserted in each instruction of a program using typical mutation procedures and tools. Meanwhile, in a real-world program, the likelihood of a bug occurrence in the simple and non-bug-prone sections of a program is quite low. According to the 80–20 rule, 80 percent of a program's bugs are discovered in 20% of its fault-prone code. The first stage of the suggested solution uses a discretized and modified version of the Forrest optimization algorithm to identify the program's most bug-prone paths; the second stage injects mutants just in the identified bug-prone instructions and data. In the second step, the mutation operators are only injected into the identified instructions and data that are bug-prone. Studies on standard benchmark programs have shown that the proposed method reduces about 27.63% of the created mutants when compared to existing techniques. If the number of produced mutants is decreased, the cost of mutation testing will also decrease. The proposed method is independent of the platform and testing tool. The results of the experiments confirm that the use of the proposed method in each testing tool such as Mujava, Muclipse, Jester, and Jumble makes a considerable mutant reduction

    A bioinspired discrete heuristic algorithm to generate the effective structural model of a program source code

    No full text
    When the source code of a software is the only product available, program understanding has a substantial influence on software maintenance costs. The main goal in code comprehension is to extract information that is used in the software maintenance stage. Generating the structural model from the source code helps to alleviate the software maintenance cost. Software module clustering is thought to be a viable reverse engineering approach for building structural design models from source code. Finding the optimal clustering model is an NP-complete problem. The primary goals of this study are to minimize the number of connections between created clusters, enhance internal connections inside clusters, and enhance clustering quality. The previous approaches' main flaws were their poor success rates, instability, and inadequate modularization quality. The Olympiad optimization algorithm was introduced in this paper as a novel population-based and discrete heuristic algorithm for solving the software module clustering problem. This algorithm was inspired by the competition of a group of students to increase their knowledge and prepare for an Olympiad exam. The suggested algorithm employs a divide-and-conquer strategy, as well as local and global search methodologies. The effectiveness of the suggested Olympiad algorithm to solve the module clustering problem was evaluated using ten real-world and standard software benchmarks. According to the experimental results, on average, the modularization quality of the generated clustered models for the ten benchmarks is about 3.94 with 0.067 standard deviations. The proposed algorithm is superior to the prior algorithms in terms of modularization quality, convergence, and stability of results. Furthermore, the results of the experiments indicate that the proposed algorithm can be used to solve other discrete optimization problems efficiently

    Application of Protein-Protein Interaction Network Analysis in Order to Identify Cervical Cancer miRNA and mRNA Biomarkers

    No full text
    Cervical cancer (CC) is one of the world’s most common and severe cancers. This cancer includes two histological types: squamous cell carcinoma (SCC) and adenocarcinoma (ADC). The current study aims at identifying novel potential candidate mRNA and miRNA biomarkers for SCC based on a protein-protein interaction (PPI) and miRNA-mRNA network analysis. The current project utilized a transcriptome profile for normal and SCC samples. First, the PPI network was constructed for the 1335 DEGs, and then, a significant gene module was extracted from the PPI network. Next, a list of miRNAs targeting module’s genes was collected from the experimentally validated databases, and a miRNA-mRNA regulatory network was formed. After network analysis, four driver genes were selected from the module’s genes including MCM2, MCM10, POLA1, and TONSL and introduced as potential candidate biomarkers for SCC. In addition, two hub miRNAs, including miR-193b-3p and miR-615-3p, were selected from the miRNA-mRNA regulatory network and reported as possible candidate biomarkers. In summary, six potential candidate RNA-based biomarkers consist of four genes containing MCM2, MCM10, POLA1, and TONSL, and two miRNAs containing miR-193b-3p and miR-615-3p are opposed as potential candidate biomarkers for CC

    RPINBASE: An online toolbox to extract features for predicting RNA-protein interactions

    No full text
    Feature extraction is one of the most important preprocessing steps in predicting the interactions between RNAs and proteins by applying machine learning approaches. Despite many efforts in this area, still, no suitable structural feature extraction tool has been designed. Therefore, an online toolbox, named RPINBASE which can be applied to different scopes of biological applications, is introduced in this paper. This toolbox employs efficient nested queries that enhance the speed of the requests and produces desired features in the form of positive and negative samples. To show the capabilities of the proposed toolbox, the developed toolbox was investigated in the aptamer design problem, and the obtained results are discussed. RPINBASE is an online toolbox and is accessible at http://rpinbase.com
    corecore