Log-based behavioral differencing
23 October 2017
The complexity of modern software systems is growing fast, with new version of software released every few months when modern development methodologies are used. Detection of outliers between the behavior of the system prior to a change and after a change is very important. On one hand it allows to detect anomalies due to new bugs that were introduced into the system. On the other hand it allows to verify that the changes in the behavior of the new version of the system are as the user expected them to be. With the absence of access to the actual code of the system, analysis of logs produced by the system is the most natural approach. However, it is practically impossible to perform this task manually. Therefore, tools that visualize the logs and compare between them graphically are needed. In this paper we propose a novel approach for detecting outliers based on comparison between pairs of models representing different executions of a system. The models are Finite State Automatons (FSAs) that are enhanced with some performance data collected from the logs and represent the behavior of the system as observed from the logs. The difference between the models is computed from the two models and emphasizes behavior outliers. A visual framework is also provided and supports traceability to the actual log from the diff model.