9 research outputs found
Requirements Prioritization
This chapter provides an overview of techniques for prioritization of requirements for software products. Prioritization is a crucial step towards making good decisions regarding product planning for single and multiple releases. Various aspects of functionality are considered, such as importance, risk, cost, etc. Prioritization decisions are made by stakeholders, including users, managers, developers, or their representatives. Methods are given how to combine individual prioritizations based on overall objectives and constraints. A range of different techniques and aspects are applied to an example to illustrate their use. Finally, limitations and shortcomings of current methods are pointed out, and open research questions in the area of requirements prioritization are discussed
Fail-safe Testing of Safety-critical Systems: A Case Study and Efficiency Analysis
This paper proposes an approach for testing of safety-critical systems. It is based on a behavioral and a fault model. The two models are analyzed for compatibility, and necessary changes are identified to make them compatible. Then, transformation rules are used to transform the fault model into the same model type as the behavioral model. Integration rules define how to combine them. This approach results in an integrated model which then can be used to generate tests using a variety of testing criteria. The paper illustrates this general framework using a CEFSM for the behavioral model and a fault tree for the fault model. We apply the technique to an aerospace launch system. We also investigate the scalability of the approach and compare its efficiency with integrating a state chart and a fault tree
Towards Better Help Desk Planning: Predicting Incidents and Required Effort
In this case study, a cost model for help desk operations is developed. The cost model relates predicted incidents to labor costs. Since incident estimation for hundreds of products is time-consuming, we use cluster analysis to group similarly behaving products in clusters, for which we then estimate incidents based on the representative product in the cluster. Incidents are predicted using software reliability growth models. The cost to resolve the incidents is predicted using historical labor data for the resolution of incidents. Cluster analysis is used to group products with similar help desk incident characteristics. We use Principal Components Analysis to determine one product per cluster for the prediction of incidents for all members of the cluster, so as to reduce estimation cost. We were able to predict incidents for a cluster based on this product alone and do so successfully for all clusters with accuracy comparable to making predictions for each product in the portfolio. Linear regression is used with cost data for the resolution of incidents to relate incident predictions to help desk labor costs. The cost model is then validated by successfully demonstrating cost prediction accuracy for one month prediction intervals over a 22 month period
Towards Better Help Desk Planning: Predicting Incidents and Required Effort
In this case study, a cost model for help desk operations is developed. The cost model relates predicted incidents to labor costs. Since incident estimation for hundreds of products is time-consuming, we use cluster analysis to group similarly behaving products in clusters, for which we then estimate incidents based on the representative product in the cluster. Incidents are predicted using software reliability growth models. The cost to resolve the incidents is predicted using historical labor data for the resolution of incidents. Cluster analysis is used to group products with similar help desk incident characteristics. We use Principal Components Analysis to determine one product per cluster for the prediction of incidents for all members of the cluster, so as to reduce estimation cost. We were able to predict incidents for a cluster based on this product alone and do so successfully for all clusters with accuracy comparable to making predictions for each product in the portfolio. Linear regression is used with cost data for the resolution of incidents to relate incident predictions to help desk labor costs. The cost model is then validated by successfully demonstrating cost prediction accuracy for one month prediction intervals over a 22 month period
Model-based Testing of a Real-time Adaptive Motion Planning System
To enable effective and safe operations of autonomous robots in environments with unknowns and unpredictability, a key practical problem is how to test the functionality and assess the performance of real-time motion planning systems. This is a challenge because the underlying algorithms are real-time, sensing-based, and often non-deterministic. These systemsâ performance depends on task environments, which can vary in countless ways. Existing testing techniques are designed heavily based on testersâ experience and hardly provide a good coverage of possible test scenarios. This paper introduces a systematic model-based testing (MBT) approach to evaluate the functionality and performance of a real-time adaptive motion planning (RAMP) system. The MBT approach uses the formal communicating extended finite state machine model to model RAMPâs concurrent components and leverage graph traversal algorithms to systematically generate behavioral test cases. First, component integration is considered by modeling the RAMP components and their interactions. Next, system-level testing is considered by modeling mobile obstacles of unpredictable motion behavior. The behavior models are leveraged to generate Abstract Behavioral Test Cases, which are transformed by test data into executable test cases. The test results demonstrate the effectiveness of applying the systematic MBT approach to the evaluation of real-time robotic systems
Comparing Development Approaches and Reuse Strategies: An Empirical Evaluation of Developer Views from the Aerospace Industry
There is a debate in the aerospace industry whether lessons from reuse successes and failures in nonembedded software can be applied to embedded software. Reuse supposedly reduces development time and errors. The aerospace industry was an early advocate of reuse, but in Aerospace, not all reuse experiences have been as successful as expected. Some major projects experienced large overruns in time, budget, as well as inferior performance, at least in part, due to the gap between reuse expectations and reuse outcomes. This seemed to be especially the case for embedded systems. Objective Our goal is to discover software reuse practices in the aerospace industry. In particular, we wish to learn whether practitioners who develop embedded systems use the same development approaches and artifacts as software practitioners who develop nonembedded systems. We wish to learn whether reuse influences selection of development approaches and artifacts and whether outcomes are impacted. Method We developed a survey given to software practitioners in a major Aerospace Corporation developing either embedded or nonembedded systems. The survey probed to identify development methods used, artifacts reused and outcomes resulting from the reuse. We used qualitative and quantitative methods such as descriptive statistics, MANOVA, Principle Component Analysis and an analysis of freeform comments to compare reuse practices between embedded systems and nonembedded systems development. Results We found that embedded systems were more likely to include component based development, product line development and model based development in their development approach, whereas nonembedded systems were more likely to include Ad Hoc and COTS/GOTS in their development approach. Embedded systems developers tended to reuse more and different reuse artifacts. Conclusion We found that, while outcomes were nearly identical, the development approaches and artifacts used did, in fact, differ. In particular, the tight coupling between code and the platform in embedded systems often dictated the development approach and reuse artifacts and identified some of the reasons
Towards better help desk planning: Predicting incidents and required effort
In this case study, a cost model for help desk operations is developed. The cost model relates predicted incidents to labor costs. Since incident estimation for hundreds of products is time-consuming, we use cluster analysis to group similarly behaving products in clusters, for which we then estimate incidents based on the representative product in the cluster. Incidents are predicted using software reliability growth models. The cost to resolve the incidents is predicted using historical labor data for the resolution of incidents. Cluster analysis is used to group products with similar help desk incident characteristics. We use Principal Components Analysis to determine one product per cluster for the prediction of incidents for all members of the cluster, so as to reduce estimation cost. We were able to predict incidents for a cluster based on this product alone and do so successfully for all clusters with accuracy comparable to making predictions for each product in the portfolio. Linear regression is used with cost data for the resolution of incidents to relate incident predictions to help desk labor costs. The cost model is then validated by successfully demonstrating cost prediction accuracy for one month prediction intervals over a 22 month period