12 research outputs found

    An Effective Strategy to Build Up a Balanced Test Suite for Spectrum-Based Fault Localization

    Get PDF
    During past decades, many automated software faults diagnosis techniques including Spectrum-Based Fault Localization (SBFL) have been proposed to improve the efficiency of software debugging activity. In the field of SBFL, suspiciousness calculation is closely related to the number of failed and passed test cases. Studies have shown that the ratio of the number of failed and passed test case has more significant impact on the accuracy of SBFL than the total number of test cases, and a balanced test suite is more beneficial to improving the accuracy of SBFL. Based on theoretical analysis, we proposed an PNF (Passed test cases, Not execute Faulty statement) strategy to reduce test suite and build up a more balanced one for SBFL, which can be used in regression testing. We evaluated the strategy making experiments using the Siemens program and Space program. Experiments indicated that our PNF strategy can be used to construct a new test suite effectively. Compared with the original test suite, the new one has smaller size (average 90% test case was reduced in experiments) and more balanced ratio of failed test cases to passed test cases, while it has the same statement coverage and fault localization accuracy

    Fault location in CNC system software based on the architecture expansion

    Get PDF
    Trenutno ne postoje odgovarajuće metode kojima bi se pronašla greška u softveru CNC sustava i otklonile skrivene opasnosti. U svrhu poboljšanja pouzdanosti CNC sustava, u radu je predložena metoda lokacije greške u softveru CNC sustava zasnovana na širenju arhitekture. Analizirana je greška u softveru CNC sustava, predložena je metoda širenja arhitekture softvera CNC sustava i ustanovljena je komponenta širenja. Pratili su se i bilježili izvršna putanja i informacije o morfologiji podataka softvera, dobivena je putanja greške i prihvaćen algoritam slične putanje kako bi se generirala putanja slična putanji greške. Postavljen je model zasnovan na potpori vektora najmanjim kvadratima (Least Square Support Vector Machine - LS-SVM) kako bi se odredila naredba za grešku, eliminirale greške i greška softvera stavila u strukturu CNC sustava. Eksperimentiranje s lokacijom greške provedeno je u kartici za nadzor višeosnog gibanja PCI-7344. Rezultat eksperimenta pokazuje da se predloženom metodom izbjeglo ponovljeno testiranje i otklanjanje grešaka od strane programera. Neograničena umjetnim faktorima i nivoima, to je pouzdana metoda za lociranje greške u softveru CNC sustava.There are currently no appropriate methods to find CNC system software defects and eliminate hidden dangers. In order to improve CNC system reliability, the architecture expansion-based fault location method in CNC system software was proposed in this paper. The failure of CNC system software was 619 analysed, the expansion method of CNC system software architecture was proposed and the expansion component was established. The software data morphology information and running path were monitored and recorded, the failure pathway was obtained and a similar path set algorithm was adopted to generate the similar pathway set of the fault path. A least squares SVM-based suspicion model was established to determine the fault statement, eliminate faults and position the software fault in the level of the CNC system structure. Fault location experimentation was conducted in the multi-axis movement control card PCI-7344. The experiment’s result shows that the method proposed avoided the repeated testing and debugging by programmers. Without being limited by artificial factors and levels, it is a reliable method of CNC system software fault location

    Automated verbal autopsy classification: using one-against-all ensemble method and Naïve Bayes classifier [version 2; referees: 2 approved]

    Get PDF
    Verbal autopsy (VA) deals with post-mortem surveys about deaths, mostly in low and middle income countries, where the majority of deaths occur at home rather than a hospital, for retrospective assignment of causes of death (COD) and subsequently evidence-based health system strengthening. Automated algorithms for VA COD assignment have been developed and their performance has been assessed against physician and clinical diagnoses. Since the performance of automated classification methods remains low, we aimed to enhance the Naïve Bayes Classifier (NBC) algorithm to produce better ranked COD classifications on 26,766 deaths from four globally diverse VA datasets compared to some of the leading VA classification methods, namely Tariff, InterVA-4, InSilicoVA and NBC. We used a different strategy, by training multiple NBC algorithms using the one-against-all approach (OAA-NBC). To compare performance, we computed the cumulative cause-specific mortality fraction (CSMF) accuracies for population-level agreement from rank one to five COD classifications. To assess individual-level COD assignments, cumulative partially-chance corrected concordance (PCCC) and sensitivity was measured for up to five ranked classifications. Overall results show that OAA-NBC consistently assigns CODs that are the most alike physician and clinical COD assignments compared to some of the leading algorithms based on the cumulative CSMF accuracy, PCCC and sensitivity scores. The results demonstrate that our approach improves the performance of classification (sensitivity) by between 6% and 8% compared with other VA algorithms. Population-level agreements for OAA-NBC and NBC were found to be similar or higher than the other algorithms used in the experiments. Although OAA-NBC still requires improvement for individual-level COD assignment, the one-against-all approach improved its ability to assign CODs that more closely resemble physician or clinical COD classifications compared to some of the other leading VA classifiers

    Graph Mining for Software Fault Localization: An Edge Ranking based Approach

    Get PDF
    Fault localization is considered one of the most challenging activities in the software debugging process. It is vital to guarantee software reliability. Hence, there has been a great demand for automated methods that can pinpoint faults for software developers. Various fault localization techniques that are based on graph mining have been proposed in the literature. These techniques rely on detecting discriminative sub-graphs between failing and passing traces. However, these approaches may not be applicable when the fault does not appear in a discriminative pattern. On the other hand, many approaches focus on selecting potentially faulty program components (statements or predicates) and then ranking these components according to their degree of suspiciousness. One of the difficulties encountered by such approaches is to understand the context of fault occurrence. To address these issues, this paper introduces an approach that helps in analyzing the context of execution traces based on control flow graphs. The proposed approach uses the edge-ranking of basic blocks in software programs using Dstar that proved to be more effective than many fault localization techniques. The proposed method helps in detecting some types of faults that could not be previously detected by many other approaches. Using Siemens benchmark, experiments show the effectiveness of the proposed technique compared to some well-known approaches such as Dstar, Tarantula, SOBER, Cause Transition and Liblit05. The percentage of localized faulty versions versus the percentage of code examined is taken as a measure. For instance, when the percentage of examined code is 30%, the proposed technique can localize nearly 81% of the faulty versions, which outperforms the other four techniques

    Graph Mining for Software Fault Localization: An Edge Ranking based Approach

    Get PDF
    Fault localization is considered one of the most challenging activities in the software debugging process. It is vital to guarantee software reliability. Hence, there has been a great demand for automated methods that can pinpoint faults for software developers. Various fault localization techniques that are based on graph mining have been proposed in the literature. These techniques rely on detecting discriminative sub-graphs between failing and passing traces. However, these approaches may not be applicable when the fault does not appear in a discriminative pattern. On the other hand, many approaches focus on selecting potentially faulty program components (statements or predicates) and then ranking these components according to their degree of suspiciousness. One of the difficulties encountered by such approaches is to understand the context of fault occurrence. To address these issues, this paper introduces an approach that helps in analyzing the context of execution traces based on control flow graphs. The proposed approach uses the edge-ranking of basic blocks in software programs using Dstar that proved to be more effective than many fault localization techniques. The proposed method helps in detecting some types of faults that could not be previously detected by many other approaches. Using Siemens benchmark, experiments show the effectiveness of the proposed technique compared to some well-known approaches such as Dstar, Tarantula, SOBER, Cause Transition and Liblit05. The percentage of localized faulty versions versus the percentage of code examined is taken as a measure. For instance, when the percentage of examined code is 30%, the proposed technique can localize nearly 81% of the faulty versions, which outperforms the other four techniques
    corecore