Abstract:
As mobile technologies advance and become part of our everyday life, we need nomadic access to information through intelligent and interoperable devices. Hence there is an increasing demand for intelligent embedded systems. The intelligence comes from the software that runs on them, therefore, the current problems in software engineering also hold true for embedded systems domain. Embedded systems industry has its own unique challenges as well: tough competition and tight profit margins. The industry constantly seeks for creative solutions to improve existing processes, to increase the quality of the product, and to lower the costs. Since the embedded software increasingly dominates the end product, any improvement in software development lifecycle would bring tremendous benefit to the industry. The most costly and time consuming process area in software development is testing. Practitioners need oracles to help them decide how to allocate their limited time and effort effectively without affecting the quality of their embedded software. These oracles are basically learning-based predictive models that aim to provide effective and robust methodologies for testing phase by focusing on defect-prone parts of the software. In this research, we propose a software defect prediction model for embedded software by analyzing specific characteristics of embedded systems. We employ a cascading learning mechanism to increase the prediction performance of the model by using the state of the art machine learning algorithm for software defect prediction. We have examined the three pillars of defect prediction research and its practical challenges for embedded software domain: a) improving the prediction performance of the model, b) analysis of data collection effort and cost, and c) increasing the information content of data used in the model.