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

Do crosscutting concerns cause modularity problems?

Published: 11 November 2012 Publication History
  • Get Citation Alerts
  • Abstract

    It has been claimed that crosscutting concerns are pervasive and problematic, leading to difficulties in program comprehension, evolution, and long-term design degradation. To consider whether this theory bears out, we examine the patch history of the Mozilla project over a period of a decade to consider whether crosscutting concerns exist therein and whether we can see evidence of problems arising from them. Mozilla is an interesting case, due to its longevity; size; polylingual nature; and use of a patch review process, which maintains strong connections between issue reports and the patches that are intended to address each. We perform several statistical analyses of the over 200,000 patches submitted to address over 90,000 issues reported in this time period. We find that 90% of patches show little or no evidence of scattering, that the scattering of a patch tends to decrease slightly upon review on average, and that the system shows at worst a slow increase of average scattering over time.

    References

    [1]
    J. Asundi and R. Jayant. Patch review processes in open source software development communities. In Proc. Hawaii Int. Conf. Syst. Sci., pp. 166c/1--166c/7, 2007.
    [2]
    L. Aversano et al. Relationship between design patterns defects and crosscutting concern scattering degree. IET Softw., 3(5):395--409, 2009.
    [3]
    K. Ayari et al. Threats on building models from CVS and Bugzilla repositories. In Proc. IBM Conf. Centre Adv. Stud. Collab. Res., pp. 215--228, 2007.
    [4]
    P. Baldi et al. A theory of aspects as latent topics. In Proc. ACM SIGPLAN Conf. Object-Oriented Progr. Syst. Lang. Appl., pp. 543--562, 2008.
    [5]
    C. Baldwin and K. Clark. Design Rules: The Power of Modularity, volume 1. MIT Press, 1999.
    [6]
    M. Bartsch and R. Harrison. An exploratory study of the effect of aspect-oriented programming on maintainability. Softw. Qual. J., 16(1):23--44, 2008.
    [7]
    S. Breu et al. Investigating information needs to improve cooperation between developers and bug reporters. In Proc. Conf. Comput. Supported Coop. Work, pp. 301--310, 2010.
    [8]
    A. Clauset et al. Power-law distributions in empirical data. SIAM Rev., 51(4):661--703, 2009.
    [9]
    M. Eaddy et al. Do crosscutting concerns cause defects? IEEE Trans. Softw. Eng., 34(4):497--515, 2008.
    [10]
    E. Figueiredo et al. Evolving software product lines with aspects. In Proc. Int. Conf. Softw. Eng., pp. 261--270, 2008.
    [11]
    E. Figueiredo et al. Crosscutting patterns and design stability. In Proc. Int. Conf. Program Comprehen., pp. 138--147, 2009.
    [12]
    E. Figueiredo et al. On the impact of crosscutting concern projection on code measurement. In Proc. Int. Conf. Aspect-oriented Softw. Dev., pp. 81--92, 2011.
    [13]
    F. Filho et al. Exceptions and aspects: The devil is in the details. In Proc. ACM SIGSOFT Int. Symp. Foundations Softw. Eng., pp. 152--162, 2006.
    [14]
    A. Garcia et al. Modularizing design patterns with aspects. In Proc. Int. Conf. Aspect-Oriented Softw. Dev., pp. 3--14, 2005.
    [15]
    D. German. Automating the measurement of open source projects. In Proc Wkshp. Open Source Softw. Eng., pp. 63--67, 2003.
    [16]
    D. German. An empirical study of fine-grained software modifications. In Proc. IEEE Int. Conf. Softw. Maintenance, pp. 316--325, 2004.
    [17]
    P. Greenwood et al. On the impact of aspectual decompositions on design stability. In Proc. Europ. Conf. Obj.-Oriented Progr., pp. 176--200, 2007.
    [18]
    A. Ihara et al. An analysis method for improving a bug modification process in open source software development. In Proc. ACM Int. Wkshp. Princip. Softw. Evol./ERCIM Wkshp. Softw. Evol., pp. 135--144, 2009.
    [19]
    D. Kelly. A study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Softw. Eng., 32(5):315--329, 2006.
    [20]
    G. Kiczales et al. Aspect-oriented programming. In Proc. Europ. Conf. Object-Oriented Progr., pp. 220--242, 1997.
    [21]
    J. Kienzle and S. Gélineau. AO challenge: Implementing the ACID properties for transactional objects. In Proc. Int. Conf. Aspect-Oriented Softw. Devel., pp. 202--213, 2006.
    [22]
    B. Kitchenham et al. Misleading metrics and unsound analyses. IEEE Softw., 24(2):73--78, 2007.
    [23]
    M. LaMantia et al. Analyzing the evolution of large-scale software systems using design structure matrices and design rule theory. In Proc. IEEE/IFIP Working Conf. Softw. Arch., pp. 83--92, 2008.
    [24]
    E. Limpert et al. Log-normal distributions across the sciences. BioScience, 51(5):341--352, 2001.
    [25]
    R. Lopez-Herrejon and S. Apel. Measuring and characterizing crosscutting in aspect-based programs. In Proc. Int. Conf. Fundamental Approaches Softw. Eng., pp. 423--437, 2007.
    [26]
    P. Louridas et al. Power laws in software. ACM Trans. Softw. Eng. Methodol., 18(1):1--26, 2008.
    [27]
    A. MacCormack et al. Exploring the structure of complex software designs. Manage. Sci., 52(7):1015--1030, 2006.
    [28]
    M. Marin et al. A classification of crosscutting concerns. In Proc. IEEE Int. Conf. Softw. Mainten., pp. 673--676, 2005.
    [29]
    M. Marin et al. Documenting typical crosscutting concerns. In Proc. Working Conf. Reverse Eng., pp. 31--40, 2007.
    [30]
    A. Mockus et al. Two case studies of open source software development. ACM Trans. Softw. Eng. Methodol., 11(3):309--346, 2002.
    [31]
    M. Nurolahzade et al. The role of patch review in software evolution. In Proc. ACM Int. Wkshp. Princip. Softw. Evol./ERCIM Wkshp. Softw. Evol., pp. 9--18, 2009.
    [32]
    D. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053--1058, 1972.
    [33]
    A. Przybyłek. An empirical assessment of the impact of aspect-oriented programming on software modularity. In Proc. Int. Conf. Eval. Novel Approaches Softw. Eng., pp. 139--148, 2010.
    [34]
    A. Przybyłek. Where the truth lies: AOP and its impact on software modularity. In Proc. Int. Conf. Fundamental Approaches Softw. Eng., pp. 447--461, 2011.
    [35]
    M. Revelle et al. Understanding concerns in software. In Proc. IEEE Int. Wkshp. Progr. Comprehen., pp. 23--32, 2005.
    [36]
    J. Siadat et al. Optimization aspects in network simulation. In Proc. Int. Conf. Aspect-Oriented Softw. Dev., pp. 122--133, 2006.
    [37]
    K. Sullivan et al. The structure and value of modularity in software design. In Proc. Europ. Softw. Eng. Conf./ACM SIGSOFT Int. Symp. Foundations Softw. Eng., pp. 99--108, 2001.
    [38]
    P. Tarr et al. N degrees of separation: Multi-dimensional separation of concerns. In Proc. Int. Conf. Softw. Eng., pp. 107--119, 1999.
    [39]
    C. Taube-Schock et al. Can we avoid high coupling? In Proc. Europ. Conf. Object-Oriented Progr., pp. 204--228, 2011.
    [40]
    S. Yau and J. Collofello. Design stability measures for software maintenance. IEEE Trans. Softw. Eng., 11(9):849--856, 1985.
    [41]
    C. Zhang and H.-A. Jacobsen. Quantifying aspects in middleware platforms. In Proc. Int. Conf. Aspect-Oriented Softw. Dev., pp. 130--139, 2003.

    Cited By

    View all
    • (2022)A Bird’s Eye View on Aspect Oriented Requirements Engineering2022 International Conference on Engineering & MIS (ICEMIS)10.1109/ICEMIS56295.2022.9914074(1-6)Online publication date: 4-Jul-2022
    • (2017)Investigating the relationship between bad smells and bugs in software systemsProceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3132498.3132513(1-10)Online publication date: 18-Sep-2017
    • (2016)An Empirical Study on Recommendations of Similar Bugs2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)10.1109/SANER.2016.87(46-56)Online publication date: Mar-2016
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FSE '12: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
    November 2012
    494 pages
    ISBN:9781450316149
    DOI:10.1145/2393596
    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: 11 November 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. AOSD
    2. Mozilla
    3. power laws
    4. retroactive study
    5. scattering

    Qualifiers

    • Research-article

    Conference

    SIGSOFT/FSE'12
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 128 submissions, 13%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)A Bird’s Eye View on Aspect Oriented Requirements Engineering2022 International Conference on Engineering & MIS (ICEMIS)10.1109/ICEMIS56295.2022.9914074(1-6)Online publication date: 4-Jul-2022
    • (2017)Investigating the relationship between bad smells and bugs in software systemsProceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3132498.3132513(1-10)Online publication date: 18-Sep-2017
    • (2016)An Empirical Study on Recommendations of Similar Bugs2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)10.1109/SANER.2016.87(46-56)Online publication date: Mar-2016
    • (2016)Models, Methods and Tools for Effectiveness Estimation of Post Object-Oriented Technologies in Software MaintenanceInformation and Communication Technologies in Education, Research, and Industrial Applications10.1007/978-3-319-30246-1_2(20-37)Online publication date: 27-Feb-2016
    • (2015)A study on the role of software architecture in the evolution and quality of softwareProceedings of the 12th Working Conference on Mining Software Repositories10.5555/2820518.2820548(246-257)Online publication date: 16-May-2015
    • (2015)Is functional programming better for modularity?Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools10.1145/2846680.2846689(49-52)Online publication date: 26-Oct-2015
    • (2015)A Study on the Role of Software Architecture in the Evolution and Quality of Software2015 IEEE/ACM 12th Working Conference on Mining Software Repositories10.1109/MSR.2015.30(246-257)Online publication date: May-2015
    • (2015)Co-change Clusters: Extraction and Application on Assessing Software ModularityTransactions on Aspect-Oriented Software Development XII10.1007/978-3-662-46734-3_3(96-131)Online publication date: 20-Mar-2015
    • (2014)Assessing modularity using co-change clustersProceedings of the 13th international conference on Modularity10.1145/2577080.2577086(49-60)Online publication date: 22-Apr-2014
    • (2014)An Empirical Study of RefactoringChallenges and Benefits at MicrosoftIEEE Transactions on Software Engineering10.1109/TSE.2014.231873440:7(633-649)Online publication date: 1-Jul-2014

    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