Debugging aspect-enabled programs

  • Authors:
  • Marc Eaddy;Alfred Aho;Weiping Hu;Paddy McDonald;Julian Burger

  • Affiliations:
  • Department of Computer Science, Columbia University, New York, NY;Department of Computer Science, Columbia University, New York, NY;Microsoft Corporation, Redmond, WA;Microsoft Corporation, Redmond, WA;Microsoft Corporation, Redmond, WA

  • Venue:
  • SC'07 Proceedings of the 6th international conference on Software composition
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The ability to debug programs composed using aspect-oriented programming (AOP) techniques is critical to the adoption of AOP. Nevertheless, many AOP systems lack adequate support for debugging, making it difficult to diagnose faults and understand the program's composition and control flow. We present an AOP debug model that characterizes AOP-specific program composition techniques and AOP-specific program behaviors, and relates them to the AOP-specific faults they induce. We specify debugging criteria that we feel all AOP systems should support and compare how several AOP systems measure up to this ideal. We explain why AOP composition techniques, particularly dynamic and binary weaving, hinder source-level debugging, and how results from related research on debugging optimized code help solve the problem. We also present Wicca, the first dynamic AOP system to support full source-level debugging. We demonstrate how Wicca's powerful interactive debugging features allow a programmer to quickly diagnose faults in the base program behavior or AOP-specific behavior.