Yazar "Shami, Shiva" seçeneğine göre listele
Listeleniyor 1 - 2 / 2
Sayfa Başına Sonuç
Sıralama seçenekleri
Öğe Discretized optimization algorithms for finding the bug-prone locations of a program source code(Elsevier, 2024) Arasteh, Bahman; Sefati, Seyed Salar; Shami, Shiva; Abdollahian, MehrdadThe number of discovered bugs determines the efficacy of software test data. Software mutation testing is an important issue in software engineering since it is used to evaluate the effectiveness of test techniques. Syntactical changes are made to the program source code to generate buggy versions, which are then run alongside the original programs using test data. However, one of the key disadvantages of mutation testing is its high processing cost, which presents a difficult dilemma in the field of software engineering. The major goal of this study is to investigate the performance of different heuristic algorithms associated with mutation testing. According to the 80%–20 rule, 80% of a program's bugs are detected in only 20% of its bug-prone code. Different heuristic algorithms have been proposed to find out the bug-prone and sensitive locations of a program source code. Next, mutants are only put into the identified bug-prone instructions and data. This technique guarantees that mutation operators are only injected into code portions that are prone to bugs. Experimental evaluation on typical benchmark programs shows the effectiveness of different heuristic algorithms in reducing the number of generated mutants. A decrease in the number of created mutants reduces the total cost of mutation testing. Another feature of the heuristic-based mutation testing technique is its independence from platform and testing tool. Experimental findings show that using the heuristic strategy in different testing tools such as Mujava, Muclipse, Jester, and Jumble results in a considerable reduction of mutations created during testing. © 2024 Elsevier Inc. All rights reserved.Öğe Sahand: A Software Fault-Prediction Method Using Autoencoder Neural Network and K-Means Algorithm(Springer, 2024) Arasteh, Bahman; Golshan, Sahar; Shami, Shiva; Kiani, FarzadSoftware is playing a growing role in many safety-critical applications, and software systems dependability is a major concern. Predicting faulty modules of software before the testing phase is one method for enhancing software reliability. The ability to predict and identify the faulty modules of software can lower software testing costs. Machine learning algorithms can be used to solve software fault prediction problem. Identifying the faulty modules of software with the maximum accuracy, precision, and performance are the main objectives of this study. A hybrid method combining the autoencoder and the K-means algorithm is utilized in this paper to develop a software fault predictor. The autoencoder algorithm, as a preprocessor, is used to select the effective attributes of the training dataset and consequently to reduce its size. Using an autoencoder with the K-means clustering method results in lower clustering error and time. Tests conducted on the standard NASA PROMIS data sets demonstrate that by removing the inefficient elements from the training data set, the proposed fault predictor has increased accuracy (96%) and precision (93%). The recall criteria provided by the proposed method is about 87%. Also, reducing the time necessary to create the software fault predictor is the other merit of this study.