1,721,111 research outputs found

    Assessment of fault detection processes: an approach based onreliability techniques

    No full text
    Two major factors influence the number of faults uncovered by a fault-detection process applied to a software artifact (e.g., specification, code): ability of the process to uncover faults, quality of the artifact (number of existing faults). These two factors must be assessed separately, so that one can: switch to a different process if the one being used is not effective enough, or stop the process if the number of remaining faults is acceptable. The fault-detection process assessment model can be applied to all sorts of artifacts produced during software development, and provides measures for both the `effectiveness of a fault-detection process' and the `number of existing faults in the artifact'. The model is valid even when there are zero defects in the artifact or the fault-detection process is intrinsically unable to uncover faults. More specifically, the times between fault discoveries are modeled via reliability-based techniques with an exponential distribution. The hazard rate is the product of `effectiveness of the fault-detection process' and `number of faults in the artifact'. Based on general hypotheses, the number of faults in an artifact follows a Poisson distribution. The unconditional distribution, whose parameters are estimated via maximum likelihood, is obtained

    Measuring Attributes of Concurrent Software Specifications in Petri Nets

    No full text
    Specifications play a crucial role in the development of many types of software systems. Formal specification techniques are often used to help ensure that the requirements are correctly captured and to prove or check properties of the developed software. This is especially true in systems such as concurrent software systems, due to the critical nature that such systems may have. Though the growing importance of the specification phase shows the emerging need for extending measurement to it, few measures have been defined for specifications. The main reason is that specifications have often been written in informal languages, which made it hard to define and collect measures for software specifications. Instead, formal specifications would have a great potential for being measured. This paper proposes a set of measures for capturing a number of internal attributes (i.e., size, length, complexity, and coupling) of software specifications written with Petri nets, a well-known formal technique for modeling concurrent systems. These measures are theoretically validated against a collection of axiom sets that have been proposed in the literature. This theoretical validation provides evidence that the measures really capture the internal attributes they purport to measure. This is a necessary precondition in the development of a set of measures for the internal attributes of concurrent software specifications

    Quality Platform for Open Source Software (QualiPSo)

    No full text
    This proposal for an Integrated Project (IP) aims at making a major contribution to the state of the art and practice of Open Source Software. The goal of the QualiPSo integrated project is: to define and implement technologies, procedures and policies to leverage the Open Source Software development current practices to sound and well recognised and established industrial operations. The project brings together software companies, application solution developers and research institutions and will be driven by the need for having for OSS software the appropriated level of trust which makes OSS development an industrial and wide accepted practice. To reach this goal the QualiPSo project will define, deploy and launch the QualiPSo Competence Centres in Europe (4), Brazil (1) and China (1) all of the making use of the QualiPSo Factory. Exploitation of results will be achieved through different routes, but with the common theme of partners incorporating these results in current or planned products. Under their founders partners the QualiPSo project will be closely related with important OSS Communities such as QbjectWeb and Morfeo. With the economy moving towards new open models, the potential impact of QualiPSo will be across the entire chain of software system development, proposing an integrated approach along many dimensions: - technically, through a focus on complementary problem areas addressed by strong research teams, - industrially, through application partners from different sectors who share a common vision for the potential of services, - managerially, through the creation of a strong management structure based on an entrepreneurial company, - internationally with partners from different countries coming from different continents, - individually, through strong existing working relationships between partners. The need to sustain and advance the QualiPSo solutions in the future requires an open sustainability approach. QualiPSo is open in the following ways: - its use of open standards and the open source software development approach - it is based on an open community to enlarge and enforce its resources and input from researchers, scientists, art professionals and users - it is open to expansion, by inserting new application scenarios and other project results in a "plug and play" manner

    A Bayesian Approach to Software Testing Evaluation

    No full text
    This paper proposes a Bayesian approach to the quantification of some of the subjectivity that is intrinsic to the testing process (i.e., the decision on when to stop). The goal of the paper is to put this subjectivity on clear and firm bases, by showing how a Bayesian approach can be used to model the degree of belief that testers have on the fact that an input of a program results in a failure. We also define a model for the increase of this degree of belief as a program is run with inputs that do not result in failures, and we show how the model can be used to decide when to stop testing

    Building statistically significant robust regression models in empirical software engineering

    No full text
    Outliers have been a constant source of problems in the analysis of Empirical Software Engineering data. In some cases, outliers are due to corrupted data, while they may be the result of highly unlikely circumstances in others. In either case, outliers may unduly greatly bias data analysis, as is the case with Ordinary Least Squares (OLS) regression. Robust data analysis techniques have been proposed to address this problem. In this paper, we describe an existing robust linear regression technique based on the Least Median of Squares (LMS) and provide a statistical significance test for the associations obtained with it. We also apply LMS and OLS regression to real-life, publicly available Empirical Software Engineering data sets, to compare the results obtained and investigate commonalities and differences between LMS and OLS from a practical point of view

    Using Logistic Regression to Estimate the Number of Faulty Software Modules

    No full text
    Background. The evaluation of the accuracy of an estimation model for software fault-proneness is carried out by using the model with data collected on a set of software modules and classifying the modules in the set as either estimated faulty or estimated non-faulty. This classification usually involves setting a fault-proneness threshold: software modules whose fault-proneness is above that threshold are classified as estimated faulty and the others as estimated non-faulty. The selection of the threshold value is to some extent subjective and arbitrary, and different threshold values may lead to very different results in terms of classification accuracy. Objective. With our proposal, the accuracy of a fault-proneness model can be evaluated without fixing a threshold. Method. We first derive a property of Binary Logistic Regression fault-proneness estimation models. We show that the number of actually faulty software modules in the training set used to build a model is equal to the number of modules estimated faulty in that set, i.e., estimation is perfect on the training set. Then, we use the model on a different set, the test set, and estimate the number of faulty modules. We also estimate the number of faulty modules in the test set by using a more conventional approach with five different fault-proneness thresholds, and we finally compare the estimates with the estimates obtained via our approach. We carried out the empirical validation on a data set from NASA hosted on the PROMISE repository, by using a technique similar to the one used in K-fold cross validation. Results. In the empirical validation we carried out, the approach we propose is able to estimate the number of faulty modules in the test sets better than the threshold-based ones, in a statistically significant way. Conclusions. Our approach seems to have the potential to be practically used to accurately estimate the number of faulty modules without having to set specific fault-proneness thresholds

    Software Measurement

    No full text
    This article provides an overview of the basic concepts and state of the art of software measurement. Software measurement is an emerging field of software engineering, since it may provide support for planning, controlling, and improving the software development process, as needed in any industrial development process. Due to the human-intensive nature of software development and its relative novelty, some aspects of software measurement are probably closer to measurement for the social sciences than measurement for the hard sciences. Therefore, software measurement faces a number of challenges whose solution requires both innovative techniques and borrowings from other disciplines. Over the years, a number of techniques and measures have been proposed and assessed via theoretical and empirical analyses. This shows the theoretical and practical interest of the software measurement field, which is constantly evolving to provide new, better techniques to support existing and more recent software engineering development methods
    corecore