C.3. Software Engineering
Mohammad Mahdi Estesnaei
Abstract
Spectrum-based fault localization (SBFL) is a widely used technique that utilizes coverage data and test outcomes to calculate a suspiciousness score for each program statement. The fundamental hypothesis of SBFL is that a statement covered by more failed test cases and fewer passed test cases is more ...
Read More
Spectrum-based fault localization (SBFL) is a widely used technique that utilizes coverage data and test outcomes to calculate a suspiciousness score for each program statement. The fundamental hypothesis of SBFL is that a statement covered by more failed test cases and fewer passed test cases is more likely to be faulty. However, the effectiveness of SBFL is hindered by coincidental correctness, which occurs when a fault is executed but no failure is detected. Additionally, traditional SBFL methods assign equal weight to all failed tests, despite some failed tests containing more valuable information. This study aims to enhance SBFL performance by employing a fuzzy expert system to address these challenges. Thirteen open-source subject programs were used to evaluate the efficiency of the proposed FSBFL method. Experimental results, assessed using four key metrics, demonstrate that FSBFL outperforms popular spectrum-based fault localization techniques.
C.3. Software Engineering
M. A. Saadtjoo; S. M. Babamir
Abstract
Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. ...
Read More
Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major challenge. The paper establishes a new cost function for automatic test data generation, which can traverse the non-iterative paths of software control flow graphs. This function is later compared with similar cost functions proposed in other articles. The results indicate the superior performance of the proposed function. Still another innovation in this paper is the application of the Imperialist Competitive Algorithm in automatic test data generation along with the proposed cost function. Automatic test data generation is implemented through the Imperialist Competitive Algorithm as well as the Genetic and Particle Swarm Optimization Algorithms for three software programs with different search space sizes. The algorithms are compared with each other in terms of convergence speed, computational time, and local search. Test data generated by the proposed method has achieved better results than other algorithms in finding the number of non-iterative paths, the convergence speed and computational time with growing the searching space of the software's control flow graph.