Debugging support for aspect-oriented program based on program slicing and call graph

被引:4
|
作者
Ishio, T [1 ]
Kusumoto, S [1 ]
Inoue, K [1 ]
机构
[1] Osaka Univ, Grad Sch Informat Sci & Technol, Toyonaka, Osaka 5608531, Japan
关键词
D O I
10.1109/ICSM.2004.1357802
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Aspect-Oriented Programming (AOP) introduces a new software module unit named aspect to encapsulate crosscutting concerns. While AOP modularizes crosscutting concerns to improve maintainability and reusability, AOP introduces a new factor of complexity. It is difficult to find defects caused by an aspect modifying or preventing the behavior of other objects and aspects. In this paper, we examine a method to support a debugging task in aspect-oriented software development. We propose an application of a call graph generation and program slicing to assist in debugging. A call graph visualizes control dependence relations between objects and aspects and supports the detection of an infinite loop. On the other hand, program slicing shows the user changes of dependence relations caused by aspects. We implement a program-slicing tool for AspectJ and apply it to certain programs. The experiment illustrates how our approach effectively helps developers understand the influence of aspects in a program.
引用
收藏
页码:178 / 187
页数:10
相关论文
共 50 条
  • [31] Debugging of Java']Java programs using HDT with program slicing
    Kouh, HJ
    Kim, KT
    Jo, SM
    Yoo, WH
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2004, PT 4, 2004, 3046 : 524 - 533
  • [32] Dynamic slicing of distributed Aspect-Oriented Programs: A context-sensitive approach
    Singh, Jagannath
    Khilar, P. M.
    Mohapatra, D. P.
    [J]. COMPUTER STANDARDS & INTERFACES, 2017, 52 : 71 - 84
  • [33] The Analyzing Technique of Program Based on Program Slicing
    Liu Shukun
    Yang Xiaohua
    [J]. PROGRESS IN MEASUREMENT AND TESTING, PTS 1 AND 2, 2010, 108-111 : 856 - +
  • [34] Extracting reusable functions by flow graph-based program slicing
    Lanubile, F
    Visaggio, G
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (04) : 246 - 259
  • [35] A formal approach based on aspect-oriented statecharts
    Wen, Xinxiu
    Zheng, Hong
    Yu, Huiqun
    [J]. Journal of Computational Information Systems, 2011, 7 (10): : 3447 - 3454
  • [36] Supporting impact analysis by program dependence graph based forward slicing
    Korpi, Jaakko
    Koskinen, Jussi
    [J]. ADVANCES AND INNOVATIONS IN SYSTEMS, COMPUTING SCIENCES AND SOFTWARE ENGINEERING, 2007, : 197 - +
  • [37] Using Sequence Diagram to support Aspect-Oriented Programming in MDA
    Zhang, Jingjun
    Chen, Yuejuan
    Liu, Guangyuan
    Li, Hui
    [J]. 2009 INTERNATIONAL CONFERENCE ON INTELLIGENT HUMAN-MACHINE SYSTEMS AND CYBERNETICS, VOL 1, PROCEEDINGS, 2009, : 359 - +
  • [38] Generic techniques for source-level debugging and dynamic program slicing
    Tip, F
    [J]. TAPSOFT '95: THEORY AND PRACTICE OF SOFTWARE DEVELOPMENT, 1995, 915 : 516 - 530
  • [39] Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing
    Mastroeni, Isabella
    Zanardini, Damiano
    [J]. ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2017, 18 (01)
  • [40] Optimizing generated aspect-oriented assertion checking code for JML using program transformations: An empirical study
    Rebelo, Henrique
    Lima, Ricardo
    Leavens, Gary T.
    Cornelio, Marcio
    Mota, Alexandre
    Oliveira, Cesar
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (08) : 1137 - 1156