Behaviour Model Extraction Using Context Information
Lúcio Mauro Duarte · OpenGrey (Institut de l'Information Scientifique et Technique) · 2007
This work describes an approach for behaviour model extraction merging static information, based on the control flow graph of the system, and dynamic information, obtained from traces of execution and a set of monitored attributes. The combination of control flow information and values of attributes forms what is called context information. More specifically, a context is defined as an abstract representation of a state of a system, composed of the block of code being executed, the evaluation of its associated control predicate and the current values of a set of attributes. This information, combined with a set of collected traces, provides the sequences of contexts reached during the execution and the actions performed in between them. It is demonstrated how context information can be used to guide the process of constructing Labelled Transition Systems (LTS) which are good approximations of the actual behaviour of the systems they describe. These models can be applied for automated behaviour analysis in a well-known model-checking tool, as well as for checking LTL properties. Augmentation of the set of values of attributes recorded in contexts produces further refined models and leads towards correct models, ruling out some false negatives. Completeness of the extracted models depends on the coverage achieved by the collected samples of execution, and may be slightly extended through the automatic inference of additional valid behaviours. The approach is partially automated by a tool called LTS Extractor (LTSE), which internally creates an implicit Labelled Kripke Structure (LKS) based on the gathered context information. The LKS is then mapped into a Finite State Processes (FSP) description, which is in turn used to obtain a graphical representation of the system behaviour as an LTS model. Results of two case studies are presented and discussed.