J. Wegener et F. Mueller, A comparison of static analysis and evolutionary testing for the verification of timing constraints, REAL-TIME S, 21(3), 2001, pp. 241-268
This paper contrasts two methods to verify timing constraints of real-time
applications. The method of static analysis predicts the worst-case and bes
t-case execution times of a task's code by analyzing execution paths and si
mulating processor characteristics without ever executing the program or re
quiring the program's input. Evolutionary testing is an iterative testing p
rocedure, which approximates the extreme execution times within several gen
erations. By executing the test object dynamically and measuring the execut
ion times the inputs are guided yielding gradually tighter predictions of t
he extreme execution times. We examined both approaches on a number of real
world examples. The results show that static analysis and evolutionary tes
ting are complementary methods, which together provide upper and lower boun
ds for both worst-case and best-case execution times.