Font Size: a A A

Fault Localization By Integrating Dynamic And Static Information

Posted on:2024-02-26Degree:MasterType:Thesis
Country:ChinaCandidate:W Q LiFull Text:PDF
GTID:2568307118979479Subject:Software Engineering Technology
Abstract/Summary:PDF Full Text Request
With the rapid development of information technology,computer software,as the digital foundation of the information age,has also grown in scale and complexity.Therefore,ensuring the quality and reliability of software has become a huge challenge.Software testing can help developers discover and fix errors in software in a timely manner.As an important part of testing,fault localization is often considered a timeconsuming,tedious,and costly activity,as developers need to analyze and locate various complex faults to ensure the correctness and stability of the software.Therefore,improving the efficiency and accuracy of fault localization methods is crucial for software testing.Currently,researchers both domestically and internationally have conducted extensive research on the field of fault localization in software,and have proposed many automated fault localization techniques.However,there are still shortcomings that need to be further improved:(1)Existing spectrum-based fault localization methods lack consideration of static information in the program,such as program statement features.They have limited support for complex programs and are prone to false error reports by relying solely on program coverage information for fault localization.(2)Existing software fault localization methods often have a large search space,resulting in low localization accuracy and a failure to fully consider the frontback dependency relationships between statements contained in dynamic slicing to narrow the localization scope.To address these issues,the research work of this article is as follows:(1)A fault localization method based on spectrum and statement classification(SCFL)is proposed.Firstly,the method calculates the suspiciousness values of statements using the Spectrum-Based Fault Localization method to obtain a suspiciousness value list.Then,a static analysis method is used to divide the statements in the source code into different types and extract information on the nesting depth and complexity of the statements to assign initial weights to each statement.Next,a particle swarm optimization algorithm is used to train the weights of statements of different types.Finally,the initial suspicion value list of statements is updated and sorted in descending order based on a combination of statement weights and a risk assessment formula,and the list is checked to locate faults.Experimental results on seven subprograms of the Siemens Suite demonstrate that the SCFL method significantly improves fault localization accuracy and efficiency.(2)A dynamic slicing-based fault localization method(DS-SCFL)is proposed,which first obtains a list of statement suspicion values using the SCFL method,and then selects high-suspicion statements as the entry point statement to find related statements using dynamic slicing techniques.Finally,the statements in the slice are sorted based on their suspicion values,which reduces the suspicion value list that needs to be checked,thus narrowing the scope of fault localization and reducing the cost.Experimental results demonstrate that the DS-SCFL method can effectively reduce the number of lines of code that need to be checked by the SCFL method and outperforms other existing methods in terms of fault localization effectiveness.(3)A software fault localization system that integrates dynamic and static information was designed and implemented.The system provides developers with a user-friendly and visual interface,which can assist them in quickly locating fault,thereby improving software debugging efficiency.This thesis contains a total of 17 figures,15 tables,and 81 references.
Keywords/Search Tags:fault localization, statement classification, static information, spectrum-based fault localization, dynamic slicing
PDF Full Text Request
Related items