Dynamic reverse engineering uses data captured from a system at runtime to help developers reconstruct high-level models of a system's behaviour. Although it is an active area of research, the approaches proposed so far do not scale well to the complex and layered architectures typically encountered in distributed systems. In this talk, I will present CosmOpen, a reverse engineering tool specifically designed for the dynamic analysis of complex layered software.
CosmOpen combines cheap and non-intrusive observation techniques with a versatile graph manipulation engine. By programming different graph manipulation scripts, the 'focal length'of CosmOpen can be adapted to different abstraction levels. The talks motivates this approach, presents its salient features, and finally illustrates how it can be used in a concrete case study to extract high-level behavioural models from a complex multi-threaded platform (GNU/Linux, CORBA middleware).
This talk presents the results discussed in the SP&E Journal paper with the same name.