Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1509837.1509842acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Unweaving the impact of aspect changes in AspectJ

Published: 02 March 2009 Publication History

Abstract

Aspect-oriented programming (AOP) fosters the coding of tangled concerns in separated units that are then woven together in the executable system. Unfortunately, the oblivious nature of the weaving process makes difficult to figure out the augmented system behavior. It is difficult, for example, to understand the effect of a change just by reading the source code. In this paper, we focus on detecting the run time impact of the editing actions on a given set of test cases. Our approach considers two versions of an AspectJ program and a test case. Our tool, implemented on top of the abc weaver and the AJANA framework is able to map semantics changes to the atomic editing changes in the source code.

References

[1]
P. Avgustinov, A. S. Christensen, L. J. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: an extensible AspectJ compiler. In Proc. of AOSD'05.
[2]
S. A. Bohner. Software change impact analysis. Wiley-IEEE Computer Society Pr, 1996.
[3]
A. C. D'Ursi, L. Cavallaro, and M. Monga. On bytecode slicing and AspectJ interferences. In Proc. of FOAL'07.
[4]
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. Technical report, RIACS, 2000.
[5]
M. J. Harrold, J. A. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. Sinha, S. A. Spoon, and A. Gujarathi. Regression test selection for Java software. In Proc. of OOPSLA'01, 2001.
[6]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In Proc. of ECOOP'01, 2001.
[7]
M. Marin, L. Moonen, and A. van Deursen. An integrated crosscutting concern migration strategy and its application to JHotDraw. In Proc. of SCAM'07, 2007.
[8]
X. Ren, O. Chesley, and B. G. Ryder. Identifying failure causes in Java programs: An application of change impact analysis. IEEE TSE., 32(9), 2006.
[9]
X. Ren, F. Shah, F. Tip, B. G. Ryder, and O. Chesley. Chianti: a tool for change impact analysis of Java programs. In Proc. of OOPSLA'04, 2004.
[10]
B. G. Ryder and F. Tip. Change impact analysis for object-oriented programs. In Proc. of PASTE'01, 2001.
[11]
M. Stoerzer, B. G. Ryder, X. Ren, and F. Tip. Finding failure-inducing changes in Java programs using change classification. In Proc. of FSE-14. ACM, 2006.
[12]
R. Vallée-Rai, L. Hendrena, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot -- a Java optimization framework. In Proc. of CASCON'99, 1999.
[13]
T. Xie and J. Zhao. A framework and tool supports for generating test inputs of aspectj programs. In Proc. of AOSD'06. ACM, 2006.
[14]
D. Xu and W. Xu. State-based incremental testing of aspect-oriented programs. In Proc. of AOSD'06, 2006.
[15]
G. Xu and A. Rountev. Regression test selection for AspectJ software. In Proc. of ICSE'07, 2007.
[16]
G. Xu and A. Rountev. AJANA: a general framework for source-code-level interprocedural dataflow analysis of AspectJ software. In Proc. of AOSD'08, 2008.
[17]
A. Zeller. Yesterday, my program worked. today, it does not. why? In Proc. of ESEC'99, 1999.
[18]
S. Zhang, Z. Gu, Y. Lin, and J. Zhao. Change impact analysis for AspectJ programs. In Proc. of ICSM 2008.

Cited By

View all
  • (2012)A survey of code‐based change impact analysis techniquesSoftware Testing, Verification and Reliability10.1002/stvr.147523:8(613-646)Online publication date: 27-Apr-2012

Index Terms

  1. Unweaving the impact of aspect changes in AspectJ

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FOAL '09: Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
    March 2009
    42 pages
    ISBN:9781605584522
    DOI:10.1145/1509837
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 March 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. aspectj
    2. change impact analysis
    3. software maintenance

    Qualifiers

    • Research-article

    Conference

    AOSD '09

    Acceptance Rates

    Overall Acceptance Rate 5 of 6 submissions, 83%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2012)A survey of code‐based change impact analysis techniquesSoftware Testing, Verification and Reliability10.1002/stvr.147523:8(613-646)Online publication date: 27-Apr-2012

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media