Testing the Results of Static Worst-Case Execution-Time Analysis
RTSS '98 Proceedings of the IEEE Real-Time Systems Symposium
Test Case Design Based on Z and the Classification-Tree Method
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Data Generation for Path Testing
Software Quality Control
A systematic review of search-based testing for non-functional system properties
Information and Software Technology
Test data regeneration: generating new test data from existing test data
Software Testing, Verification & Reliability
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Evolutionary functional black-box testing in an industrial setting
Software Quality Control
An approach to testing commercial embedded systems
Journal of Systems and Software
Hi-index | 0.00 |
Embedded systems are often used in a safety-critical context, e.g. in airborne or vehicle systems. Typically, timing constraints must be satisfied so that real-time embedded systems work properly and safely. Execution time testing involves finding the best and worst case execution times to determine if timing constraints are respected. Evolutionary real-time testing (ERTT) is used to dynamically search for the extreme execution times. It can be shown that ERTT outperforms the traditional methods based on static analysis. However, during the evolutionary search, some parts of the source code are never accessed. Moreover, it turns out that ERTT delivers different extreme execution times in a high number of generations for the same test object, the results are neither reliable nor efficient. We propose a new approach to ERTT which makes use of seeding the evolutionary algorithm with test data achieving a high structural coverage. Using such test data ensures a comprehensive exploration of the search space and leads to rise the confidence in the results. We present also another improvement method based on restricting the range of the input variables in the initial population in order to reduce the search space. Experiments with these approaches demonstrate an increase of reliability in terms of constant extreme execution times and a gain in efficiency in terms of number of generations needed.