Inverse‐engineering a simple real‐time program
Eddy Younger, Martin P. Ward · Journal of Software Maintenance Research and Practice · 1994
Abstract Reverse‐engineering of interrupt‐driven, real‐time programs with timing constraints is a particularly challenging research area, because the functional behaviour of a program, and the non‐functional timing requirements, are implicit and can be very difficult to discover. However, in this paper we present a significant advance in this area, which is achieved by modelling real‐time programs with interrupts in the wide spectrum language, WSL. A small example program is modelled in this way, and formal program transformations are used to derive various timing constraints and to ‘inverse‐engineer’ a formal specification of the program. (We use the term ‘inverse‐engineering’ to mean ‘reverse‐engineering achieved by formal program transformations’.)