101,987 research outputs found

    A Software Quality Framework for Large-Scale Mission-Critical Systems Engineering

    No full text
    Context: In the industry of large-scale mission-critical systems, software is a pivotal asset and a key business driver. Production and maintenance costs of systems in domains like air/naval traffic control or homeland security are largely dependent on the quality of software, and there are numerous examples where poor software quality is blamed for major business failures. Because of the size, the complexity and the nature of systems and engineering processes in this industry, there is a strong need yet a slow shift toward innovation in software quality management. Objective: We present SVEVIA, a framework for software quality assessment and strategic decisions support for large-scale mission-critical systems engineering, and its application in a three years long industry-academy cooperation. Method: We started with the analysis of the industrial software quality management processes, and identified the key challenges toward a satisfying quality-cost-time trade-off. We defined new methods for product/process quality assessment, prediction, planning and optimization. We experimented them on the industrial partner systems and processes. They finally conflated in the SVEVIA framework. Results: SVEVIA was integrated into the industrial process, and tested with hundreds of software (sub)systems. More than 20 millions of lines of code – deployed in about 20 sites in Italy and UK – have come under the new quality measurement and improvement chain. The framework proved its ability to support systematic management of software quality and key decisions for productivity improvement. Conclusion: SVEVIA supports team leaders and managers coping with software quality in mission-critical industries, yielding figures and projections about quality and productivity trends for a prompt and informed decision-making

    Defect analysis in mission-critical software systems: a detailed investigation

    No full text
    The practice of defect analysis is recognized as an essential task for software process measurement, yet its effective application in the industrial development of large-scale software systems raises several challenges. We report the results of a study conducted at SELEX ES - a large system integrator leader in the market of software-intensive mission-critical systems. The article describes the defect analysis approach that we tailored to evaluate the software development process with respect to the quality of produced software and its relation with the required effort. Three key phases of the process were addressed, regarding the software implementation, the testing phase and the prerelease defect fixing activity, over a set of six computer software configuration items developed from 2009 to 2012 for the naval and maritime domain product line. The analysis highlighted efficiency bottlenecks in each of the monitored phases, providing company engineers with insights about room for process improvement. The implemented approach, the observed phenomena and the inferred conclusions are of support to practitioners coping with systems, development models and industrial environments similar to the considered one

    Dynamic test planning: a study in an industrial context

    No full text
    Testing accounts for a relevant part of the production cost of complex or critical software systems. Nevertheless, time and resources budgeted to testing are often underestimated with respect to the target quality goals. Test managers need engineering methods to perform appropriate choices in spending testing resources, so as to maximize the outcome. We present a method to dynamically allocate testing resources to software components minimizing the estimated number of residual defects and/or the estimated residual defect density. We discuss the application to a real-world critical system in the homeland security domain. We describe a support tool aimed at easing industrial technology transfer by hiding to practitioners the mathematical details of the method application

    Error Detection Framework for Complex Software Systems

    No full text
    Software systems employed in critical scenarios are increasingly large and complex. The usage of many heterogeneous components causes complex interdependences, and introduces sources of non-determinism, that often lead to the activation of subtle faults. Such behaviors, due to their complex triggering patterns, typically escape the testing phase. Effective on-line monitoring is the only way to detect them and to promptly react in order to avoid more serious consequences. In this paper, we propose an error detection framework to cope with software failures, which combines multiple sources of data gathered both at application-level and OS-level. The framework is evaluated through a fault injection campaign on a complex system from the Air Traffic Management (ATM) domain. Results show that the combination of several monitors is effective to detect errors in terms of false alarms, precision and recall

    Engineering Air Traffic Control Systems with a Model-Driven Approach

    No full text
    Testing software in Air Traffic Control (ATC) systems costs much more than building them. This is basically true in every domain producing software-intensive critical systems. Software engineers strive to find methodological and processlevel solutions to balance these costs, and to better distribute verification efforts along all the development phases. There is considerable interest in applying model-driven approaches in the critical systems engineering field. Kept promises and failed expectations of model-driven engineering are still debated today; we report our experience in trying to take the model-driven best achievements and, at the same time, to fill its lacks in the considered industrial context
    corecore