Exposing Side Effects in Execution Traces

Exposing Side Effects in Execution Traces
复制标题

暴露执行跟踪中的副作用

DOI:
10.7892/boris.26520
复制
发表时间:
2007
期刊:
2012 34th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Oscar Nierstrasz
Oscar Nierstrasz
中科院分区:
--
文献类型:
--
作者:
Adrian Lienhard;Tudor Gîrba;O. Greevy;Oscar Nierstrasz

文献摘要

被引文献

相似文献

每当更改复杂面向对象的软件系统时,我们需要了解副作用的影响。这可能很困难,因为副作用充其量是在软件的静态视图中隐含的,并且通常不会捕获系统部分之间的数据流。为了解决此问题,我们将执行跟踪与动态对象流信息进行补充。在以前的工作中,我们分析了对象在功能和类之间的流动。在本文中,我们使用对象流信息来分析执行轨迹中的副作用,并检测跟踪中未来的行为受到其影响。使用可视化,开发人员可以研究程序中选定的部分访问程序状态以及其执行产生的副作用。这样,开发人员可以研究程序的特定部分的工作原理,而无需详细了解源代码。为了说明我们的方法,我们使用了为旧系统编写单元测试的运行示例。
We need to understand the impact of side effects whenever changing complex object-oriented software systems. This can be difficult as side effects are at best implicit in static views of the software, and typically execution traces do not capture data flow between parts of the system. To solve this problem, we complement execution traces with dynamic object flow information. In our previous work we analyzed object flows between features and classes. In this paper, we use object flow information to analyze side effects in execution traces and to detect how future behavior in the trace is affected by it. Using a visualization, the developer can study how a selected part of the program accessed program state and what side effect its execution produced. Like this, the developer can investigate how a particular part of the program works without needing to understand the source code in detail. To illustrate our approach, we use a running example of writing unit tests for a legacy system.