120 research outputs found

    Experience in Predicting Fault-Prone Software Modules Using Complexity Metrics

    Get PDF
    Complexity metrics have been intensively studied in predicting fault-prone software modules. However, little work is done in studying how to effectively use the complexity metrics and the prediction models under realistic conditions. In this paper, we present a study showing how to utilize the prediction models generated from existing projects to improve the fault detection on other projects. The binary logistic regression method is used in studying publicly available data of five commercial products. Our study shows (1) models generated using more datasets can improve the prediction accuracy but not the recall rate; (2) lowering the cut-off value can improve the recall rate, but the number of false positives will be increased, which will result in higher maintenance effort. We further suggest that in order to improve model prediction efficiency, the selection of source datasets and the determination of cut-off values should be based on specific properties of a project. So far, there are no general rules that have been found and reported to follow

    Using Negative Binomial Regression Analysis to Predict Software Faults: A Study of Apache Ant

    Get PDF
    Negative binomial regression has been proposed as an approach to predicting fault-prone software modules. However, little work has been reported to study the strength, weakness, and applicability of this method. In this paper, we present a deep study to investigate the effectiveness of using negative binomial regression to predict fault-prone software modules under two different conditions, self-assessment and forward assessment. The performance of negative binomial regression model is also compared with another popular fault prediction model—binary logistic regression method. The study is performed on six versions of an open-source objected-oriented project, Apache Ant. The study shows (1) the performance of forward assessment is better than or at least as same as the performance of self-assessment; (2) in predicting fault-prone modules, negative binomial regression model could not outperform binary logistic regression model; and (3) negative binomial regression is effective in predicting multiple errors in one modul

    Coupling Complexity Metric: A Cognitive Approach

    Full text link

    Predicting Fault-prone Software Module Using Data Mining Technique and Fuzzy Logic

    Get PDF
    This paper discusses a new model towards reliability and quality improvement of software systems by predicting fault-prone module before testing. Model utilizes the classification capability of data mining techniques and knowledge stored in software metrics to classify the software module as fault-prone or not fault-prone. A decision tree is constructed using ID3 algorithm for existing project data in order to gain information for the purpose of decision making whether a particular module id fault-prone or not. The gained information is converted into fuzzy rules and integrated with fuzzy inference system to predict fault-prone or not fault-prone software module for target data. The model is also able to predict fault-proneness degree of faulty module. The goal is to help software manager to concentrate their testing efforts to fault-prone modules in order to improve the reliability and quality of the software system. We used NASA projects data set from the PROMOSE repository to validate the predictive accuracy of the model

    PREDICTION OF SEVERITIES OF BUGS WITH LEVELS AND TYPES OF INHERITANCE

    Get PDF
    ABSTRACT Past researches have attributed level of inheritance as major contributor of effectiveness in prediction of severities of bugs. This research initially attempts to correlate effectiveness of prediction of severities of bugs with levels of inheritance. This research also attempts to take a step further by correlating the prediction of severities of bugs with types of inheritance as well. This present research has considered different levels of inheritance and has established a correlation framework for severities of bugs (non trivial bugs, major bugs, and critical bugs) with types and levels of inheritance. This research has successfully revealed that the severities of bugs can be associated with different levels and types of inheritance and has further concluded that with increasing levels as well as complexity of types of inheritance, the severity of bugs will also increase. In this research work, two back-propagation training functions such as Broyden-FletcherGoldfarb-Shanno (BFG) and LevenbergMarquardt (LM) have been selected for evaluation. The present research work has used these two training functions to validate the results on the basis of mean square error (MSE), prediction accuracy, R on testing, R on training and R on validation. The present research has generated sufficient interest with the help of correlation framework associating levels and types of inheritance with severities of bugs. The present research work has also resulted in development of a tool for demonstrating type of inheritance (single inheritance, multilevel inheritance, hierarchical inheritance, and multiple inheritances) associated with each file containing bugs. Furthermore, the findings are of growing importance suggesting that levels and types of inheritance need to be rationalized in order to contain severities of bugs for effective quality control in software project

    EMPIRICAL CHARACTERIZATION OF SOFTWARE QUALITY

    Get PDF
    The research topic focuses on the characterization of software quality considering the main software elements such as people, process and product. Many attributes (size, language, testing techniques etc.) probably could have an effect on the quality of software. In this thesis we aim to understand the impact of attributes of three P’s (people, product, process) on the quality of software by empirical means. Software quality can be interpreted in many ways, such as customer satisfaction, stability and defects etc. In this thesis we adopt ‘defect density’ as a quality measure. Therefore the research focus on the empirical evidences of the impact of attributes of the three P’s on the software defect density. For this reason empirical research methods (systematic literature reviews, case studies, and interviews) are utilized to collect empirical evidence. Each of this research method helps to extract the empirical evidences of the object under study and for data analysis statistical methods are used. Considering the product attributes, we have studied the size, language, development mode, age, complexity, module structure, module dependency, and module quality and their impact on project quality. Considering the process attributes, we have studied the process maturity and structure, and their impact on the project quality. Considering the people attributes, we have studied the experience and capability, and their impact on the project quality. Moreover, in the process category, we have studied the impact of one testing approach called ‘exploratory testing’ and its impact on the quality of software. Exploratory testing is a widely used software-testing practice and means simultaneous learning, test design, and test execution. We have analyzed the exploratory testing weaknesses, and proposed a hybrid testing approach in an attempt to improve the quality. Concerning the product attributes, we found that there exist a significant difference of quality between open and close source projects, java and C projects, and large and small projects. Very small and defect free modules have impact on the software quality. Different complexity metrics have different impact on the software quality considering the size. Product complexity as defined in Table 53 has partial impact on the software quality. However software age and module dependencies are not factor to characterize the software quality. Concerning the people attributes, we found that platform experience, application experience and language and tool experience have significant impact on the software quality. Regarding the capability we found that programmer capability has partial impact on the software quality where as analyst capability has no impact on the software quality. Concerning process attributes we found that there is no difference of quality between the project developed under CMMI and those that are not developed under CMMI. Regarding the CMMI levels there is difference of software quality particularly between CMMI level 1 and CMMI level 3. Comparing different process types we found that hybrid projects are of better quality than waterfall projects. Process maturity defined by (SEI-CMM) has partial impact on the software quality. Concerning exploratory testing, we found that exploratory testing weaknesses induce the testing technical debt therefore a process is defined in conjunction with the scripted testing in an attempt to reduce the associated technical debt of exploratory testing. The findings are useful for both researchers and practitioners to evaluate their project

    Visualising Java Coupling and Fault Proneness

    Get PDF
    In this paper, a tool is described for visualising the Coupling Between Objects (CBO) metric for Java systems, decomposing it into coupling collaborators and using colour to denote the object-oriented mechanisms at work for each couple. The resulting visualisation is also envisaged to be useful for general program comprehension and is integrated into Java development in the Eclipse IDE. Evidence is also given that the visualisation may help detect classes tending to be less fault-prone than would be expected from inspection of their CBO values alone

    Assessing Weight of the Coupling between Objects towards defect forecasting in Object Oriented Programming

    Get PDF
    This study presents a new approach for predicting fault proneness in object classes. A new metric called weighted coupling between objects or wcbo, measures a new unit called weighted coupling between objects. The approach then ranks each class of the object based on its fault proneness using the HITS algorithm that measures hub and authority weights in link analysis. The proposed metrics advantage lies in the fact that it can be computed without using any programming language, in a simpler way, comparatively. The study undertook with huge open source systems to forecast fault proneness, shows the projected wcbo fault proneness sensitivity to be 98.7% and compared with CBO which was 42% sensitive
    • …
    corecore