1 research outputs found
Comparing Constraints Mined From Execution Logs to Understand Software Evolution
Complex software systems evolve frequently, e.g., when introducing new
features or fixing bugs during maintenance. However, understanding the impact
of such changes on system behavior is often difficult. Many approaches have
thus been proposed that analyze systems before and after changes, e.g., by
comparing source code, model-based representations, or system execution logs.
In this paper, we propose an approach for comparing run-time constraints,
synthesized by a constraint mining algorithm, based on execution logs recorded
before and after changes. Specifically, automatically mined constraints define
the expected timing and order of recurring events and the values of data
elements attached to events. Our approach presents the differences of the mined
constraints to users, thereby providing a higher-level view on software
evolution and supporting the analysis of the impact of changes on system
behavior. We present a motivating example and a preliminary evaluation based on
a cyber-physical system controlling unmanned aerial vehicles. The results of
our preliminary evaluation show that our approach can help to analyze changed
behavior and thus contributes to understanding software evolution.Comment: 6 page