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

Measuring the effects of aspect-oriented refactoring on component relationships: two case studies

Published: 21 March 2011 Publication History
  • Get Citation Alerts
  • Abstract

    Aspect-oriented refactoring is a promising technique for improving modularity and reducing complexity of existing software systems through encapsulating crosscutting concerns. As complexity of a system is often linked to the degree to which its components are connected, we investigate in this paper the impact of such refactoring activities on component relationships. We analyze two aspect-refactoring projects to determine circumstances when such activities are effective at reducing component relationships and when they are not. We measure two kinds of relationships between components, use and clone relations. We compare how these metrics changed between the original and the refactored system. Our findings indicate that aspect-oriented refactoring is successful in improving the modularity and complexity of the base code. However, we obtain mixed results when aspects are accounted for. Based on these results, we also discuss constraints to the technology as well as other design considerations that may limit the effectiveness of aspect-oriented refactoring on actual systems.

    References

    [1]
    M. Bartsch and R. Harrison. "An exploratory study of the effect of aspect-oriented programming on maintainability". Software Quality Journal, 16(1):23--44, 2008.
    [2]
    B. D. Bois, S. Demeyer, and J. Verelst. "Refactoring - Improving Coupling and Cohesion of Existing Code". In Proceedings of the 11th Working Conference on Reverse Engineering, pages 144--151, 2004.
    [3]
    Y. Coady and G. Kiczales. "Back to the Future: A Retroactive Study of Aspect Evolution in Operating System Code". In Proceedings of the 2nd international conference on Aspect-oriented software development, pages 50--59, Boston, MA, USA, 2003.
    [4]
    A. Colyer and A. Clement. "Large-scale AOSD for Middleware". In Proceedings of the 3rd international Conference on Aspect-Oriented Software Development, Lancaster, UK, 2004.
    [5]
    M. Eaddy, A. Aho, and G. C. Murphy. "Identifying, Assigning, and Quantifying Crosscutting Concerns". In Proc. of the First International Workshop on Assessment of Contemporary Modularization Techniques, page 2, Washington, DC, USA, 2007.
    [6]
    A. Garcia, C. Sant'Anna, E. Figueiredo, U. Kulesza, C. Lucena, and A. von Staa. "Modularizing design patterns with aspects: a quantitative study". In Proceedings of the 4th international Conference on Aspect-Oriented Software Development, Chicago, Illinois, USA, 2005.
    [7]
    K. Inoue, R. Yokomori, T. Yamamoto, M. Matsushita, and S. Kusumoto. "Ranking Significance of Software Components Based on Use Relations". IEEE Transactions on Software Engineering, 31(3):213--225, 2005.
    [8]
    L. Jiang, G. Misherghi, Z. Su, and S. Glondu. "DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones". In Proceedings of the 29th international conference on Software Engineering, pages 96--105, 2007.
    [9]
    C. Kastner, S. Apel, and D. Batory. "A Case Study Implementing Features Using AspectJ". In Proceedings of the 11th International Software Product Line Conference, pages 223--232, Kyoto, Japan, 2007.
    [10]
    G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lope, J.-M. Loingtier, and J. Irwin. "Aspect-Oriented Programming". In Proceedings of ECOOP '97, pages 220--242, 1997.
    [11]
    C. Krueger. "Software Reuse". ACM Computing Surveys, 24(2):131--183, 1992.
    [12]
    U. Kulesza, C. Sant'Anna, A. Garcia, R. Coelho, A. von Staa, and C. Lucena. "Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study". In Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM06), pages 223--233, Philadelphia, PA, USA, 2006.
    [13]
    R. Laddad. "Aspect-oriented Refactoring: Taking Refactoring to a New Level. ". In Tutorial at the International Conference on Aspect-Oriented Software Development (AOSD2005), Chicago, USA, 2005.
    [14]
    A. S. Lee. "A scientific methodology for MIS case studies". MIS Quarterly, 13(1):33--50, 1989.
    [15]
    Z. Li, S. Lu, S. Myagmar, and Y. Zhou. "CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code". IEEE Transactions on Software Engineering, 32(3):176--192, 2006.
    [16]
    M. Marin, A. Deursen, L. Moonen, and R. Rijst. "An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw". Automated Software Engineering, 16(2):323--356, 2009.
    [17]
    W. F. Opdyke. "Refactoring object-oriented frameworks". PhD thesis, University of Illinois at Urbana-Champaign, 1992.
    [18]
    S. Shapiro and M. Wilk. "An analysis of variance test for normality (complete samples)". Biometrika, 52(3--4):591--611, 1965.
    [19]
    S. Siegel and J. Castellan. "Nonparametric Statistics for The Behavioral Sciences". McGraw-Hill, 1988.
    [20]
    T. Kamiya, S. Kusumoto, and K. Inoue. "CCFinder: A multilinguistic token-based code clone detection system for large scale source code". IEEE Transactions on Software Engineering, 28(7):654--670, 2002.
    [21]
    A. van Deursen, M. Marin, and L. Moonen. "AJHotDraw: A showcase for refactoring to aspects". In Proceedings of the Workshop on Linking Aspects and Evolution. 4th International Conference on Aspect-Oriented Programming, Chicago, USA, 2005.
    [22]
    R. Walker, E. L. A. Baniassad, and G. C. Murphy. "An Initial Assessment of Aspect-oriented Programming". In Proc. of the 21st International Conference on Software Engineering, pages 120--130, 1999.
    [23]
    N. Yoshida, Y. Higo, T. Kamiya, S. Kusumoto, and K. Inoue. "On Refactoring Support Based on Code Clone Dependency Relation". In Proceedings of the 11th IEEE International Software Metrics Symposium, page 16(10 pages), Como, Italy, 2005.

    Cited By

    View all
    • (2013)Software clone detection: A systematic reviewInformation and Software Technology10.1016/j.infsof.2013.01.00855:7(1165-1199)Online publication date: Jul-2013

    Index Terms

    1. Measuring the effects of aspect-oriented refactoring on component relationships: two case studies

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      AOSD '11: Proceedings of the tenth international conference on Aspect-oriented software development
      March 2011
      326 pages
      ISBN:9781450306058
      DOI:10.1145/1960275
      • General Chair:
      • Paulo Borba,
      • Program Chair:
      • Shigeru Chiba
      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

      In-Cooperation

      • Centro de Informatica - UFPE: Centro de Informatica - UFPE
      • CAPES: Coordençãao de Aperfeiçoamento de Pessoal de Nível Superior
      • CNPq: Conselho Nacional de Desenvolvimento Cientifico e Tecn
      • FINEP: Financiadora de Estudos e Projetos
      • PUC-Rio
      • FACEPE: Fundacao de Amparo a Ciencia e Tecnologia do Estado de Pernambuco

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 21 March 2011

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. aspect-oriented programming
      2. code clone analysis
      3. coupling
      4. refactoring
      5. use-relation analysis

      Qualifiers

      • Research-article

      Conference

      AOSD'11

      Acceptance Rates

      Overall Acceptance Rate 41 of 139 submissions, 29%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)3
      • Downloads (Last 6 weeks)0

      Other Metrics

      Citations

      Cited By

      View all
      • (2013)Software clone detection: A systematic reviewInformation and Software Technology10.1016/j.infsof.2013.01.00855:7(1165-1199)Online publication date: Jul-2013

      View Options

      Get Access

      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