Skip to main content
QUICK REVIEW

[论文解读] An Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs

Abhishek Ray, Siba Mishra|arXiv (Cornell University)|Apr 13, 2014
Software Engineering Research参考文献 27被引用 7
一句话总结

本文提出了一种用于并发面向切面程序的动态切片算法,利用并发面向切面系统依赖图(CASDG)来建模非切面代码与切面代码之间的依赖关系。该方法通过在运行时标记和取消标记执行节点,扩展了NMDS算法,从而在并发、面向切面的系统中实现了精确的切片计算,并在识别执行过程中相关程序组件方面表现出显著的有效性。

ABSTRACT

We propose a dynamic slicing algorithm to compute the slice of concurrent aspect-oriented programs. We use a dependence based intermediate program representation called Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent a concurrent aspect-oriented program. The CASDG of an aspect-oriented program consists of a system dependence graph (SDG) for the non-aspect code, a group of dependence graphs for aspect code and some additional dependence edges used to connect the system dependence graph for the non-aspect code to dependence graph for aspect code. The proposed dynamic slicing al-gorithm is an extended version of NMDS algorithm for concurrent object-oriented programs, which is based on marking and unmarking of the executed nodes in CASDG appropriately during run-time.

研究动机与目标

  • 为解决并发面向切面程序中的动态切片挑战,其中横切关注点和线程级并行性使得依赖跟踪变得复杂。
  • 开发一种可扩展且精确的切片技术,以同时考虑并发执行环境中的面向对象和面向切面构造。
  • 扩展现有的动态切片算法,以处理切面和并发线程引入的复杂性。
  • 通过并发面向切面系统依赖图(CASDG)提供程序依赖关系的正式且可执行的表示。
  • 通过隔离运行时影响特定变量或条件的相关程序组件,支持有效的调试与分析。

提出的方法

  • 该方法构建一个并发面向切面系统依赖图(CASDG),将非切面代码的系统依赖图(SDG)与切面代码的独立依赖图相结合。
  • 引入额外的依赖边,以在CASDG中建模非切面代码与切面代码之间的横切关系。
  • 通过基于实际执行轨迹在运行时对CASDG中的节点进行标记和取消标记,扩展NMDS算法。
  • 该算法在多线程和切面织入环境下,追踪数据依赖和控制依赖,确保在并发执行上下文中实现准确的切片计算。
  • 通过在程序执行过程中分析CASDG中已执行节点及其依赖关系,支持动态切片。
  • 该框架能够精确识别在特定执行点影响目标变量或条件的相关语句。

实验结果

研究问题

  • RQ1如何在结合面向对象和面向切面特性的并发面向切面程序中,有效计算动态切片?
  • RQ2需要何种形式化的程序表示,以建模非切面代码、切面代码和并发线程之间的依赖关系?
  • RQ3如何将现有动态切片算法适配以处理切面织入和线程级并发带来的复杂性?
  • RQ4在涉及多个线程和横切关注点的情况下,何种机制可确保切片计算的正确性和精确性?
  • RQ5所提出的基于CASDG的方法在并发面向切面系统中,对动态切片的准确性与可扩展性提升程度如何?

主要发现

  • 所提出的基于CASDG的动态切片算法成功捕获了并发程序中非切面代码与切面代码之间的数据依赖和控制依赖。
  • 通过引入额外的依赖边将切面代码集成到系统依赖图中,实现了对横切关注点的精确建模。
  • 通过在运行时引入节点标记与取消标记机制,扩展NMDS算法,确保在并发执行场景中实现精确的切片计算。
  • 与传统切片技术相比,该方法在并发和面向切面上下文中表现出更高的精确度,能更准确地识别相关程序组件。
  • 该方法通过仅隔离影响特定变量或条件的语句,支持有效的调试。
  • 该框架具有坚实的理论基础,且可应用于真实世界的并发面向切面系统,其有效性通过理论分析和先前相关工作得到验证。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。