•   When: Friday, June 05, 2015 from 01:00 PM to 03:00 PM
  •   Speakers: Jing Guan
  •   Location: Nguyen Engineering, Room 3507
  •   Export to iCal

Abstract

The growing complexity of modern real-time embedded systems makes component-based software engineering (CBSE) technology more desirable. Although many ideas have been proposed for building component-based real-time embedded software, techniques for testing component-based real-time systems have not been well developed. A typical component-based embedded system consists of multiple user tasks, as well as hardware, middleware and software layers. Interaction problems between different components can cause system failures in field applications. The challenges not only come from the integration of multiple components through their interfaces, but also include the composition of extra-functional properties. A real-time embedded system needs to achieve its functionality under the constraints caused by its extra-functional properties. Since the time at which the system actions take place is important, correct functional behavior with regard to timing properties is essential to real-time embedded systems. Therefore, this research is intended to help detect both functional and temporal faults during the integration of component-based real-time embedded software.

This dissertation presents a test model that depicts both inter-component and intra-component relationships in component-based real-time embedded software and identifies key test elements. The test model is realized using a family of novel graph-based test models in which not only are the functional interactions and the dependence relationships illustrated, but also the time-dependent interaction among components, are illustrated. Time dependent behavior is modelled by means of timers and clocks. I use the graph-based test model to develop a novel family of test adequacy criteria that help generate effective test cases. I also present new algorithms to facilitate automate generation of the test cases. To increase the observability of system behavior, I instrument related operations to generate trace data including task id, operation, time stamp, and execution state from program execution, where the dynamic information gathered is used to check against the expected results. The experiments showed that the proposed approach effectively detected various kinds of integration faults and optimized the balance between budget and quality in an industrial product software testing.

Posted 7 years, 8 months ago