Browsing by Author "Gao, Ruizhi"
Now showing 1 - 3 of 3
- Results Per Page
- Sort Options
Item type:Item, Diagnosing SDN Network Problems by Using Spectrum-based Fault Localization Techniques(2015) ;Chen, Hsia-Hsiang ;Lu, Han-Lin ;Huang, Shih-Kun ;Gao, RuizhiWong, W. EricSoftware-defined network (SDN) is the recent advances of mitigation on improving network management flexibility and dynamic configurability. It is due to the separation of control plane and data plane and the controller software for arbitrary network configurations. However, such a flexible architecture still suffers from the inherent traits of software quality issues. Software testing and software related fault localization methods should be applied. To the best of our knowledge, we are the first to apply spectrum-based fault localization (SFL) techniques for SDN problems and propose the SFL system framework to find the illogic rules and related procedure faults in SDN. We conduct evaluations on the standard SDN environment in OpenFlow and compare the related SFL techniques. The results show that the fault locations can be found precisely. In addition, we also develop a debugging tool that can search the error causes and feedback the information to the SDN controller for fixing the faulty conditions in time.Item type:Item, Effective Test Generation for Combinatorial Decision Coverage(2016) ;Gao, Ruizhi ;Hu, Linghuan ;Wong, W. Eric ;Lu, Han-LinHuang, Shih-KunComplex software systems present significant challenges to existing software testing techniques. Simply applying exhaustive testing will lead to the execution of a prohibitively large number of test cases. Furthermore, many testing techniques today provide neither promising coverage achievement nor reliable fault detection strength. In this paper, we propose a technique, which represents an innovative synthesis of combinatorial testing and symbolic execution, to generate test cases based on a novel coverage criterion, namely combinatorial decision coverage (CDC). Strength t (or t-way) CDC requires each t-tuple of decision outcomes to be executed by at least one test case. Given a program, our CDC-based technique first uses a revised version of a symbolic executor, (SE)-E-2, to collect all program decisions with symbolic variables as well as their corresponding constraints and then applies a combinatorial test generation tool, ACTS, to generate t-way combinations for the outcomes of these decisions. A test case can be generated with respect to each combination that represents a single path-condition of the program. Case studies were conducted on three versions of photo editing applications. Our results indicate that a test set generated using the proposed technique has higher statement, decision, and all-use coverage as well as better fault detection strength than a test set of the same size generated by random testing and genetic algorithm-based test generation.Item type:Item, Spectrum-Base Fault Localization by Exploiting the Failure Path(2016-01-01) ;Lu, Han-Lin ;Gao, Ruizhi ;Huang, Shih-Kun ;Wong, W. Eric交大名義發表Software security is crucial in every aspect of information technology. As today's software has become larger and more complex than ever before, software fault localization has become more time consuming and labor intensive accordingly. Consequently, a broad spectrum of software fault localization techniques are proposed and implemented. However, most of these techniques assume the existence of a test suite to enable their execution traces and results to be used in locating program bugs. However, this is not always true in practice. After the release of software, programmers begin debugging immediately after one failure is detected. Only the test case that results in the failure is available for programmers. In such a situation, fault localization techniques, which require multiple failed and successful test cases, cannot be applied. Hence, in this paper, we propose an innovative fault localization framework, CRAXfault, based on single-path concolic execution, which exploits the execution path of one failed test case to automatically generate numerous test cases that are then used in a fault localization technique (e.g., Tarantula, Ochiai, Crosstab, and DStar). CRAXfault is evaluated across 15 real-life programs. The results demonstrate a remarkable effectiveness of CRAXfault in the number of statements that must be examined before the first faulty statement for a given bug is identified and acceptable efficiency in the time cost for generating test cases.