论文标题
比较从执行日志开采的约束以了解软件演变
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.