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

Back to the future: a retroactive study of aspect evolution in operating system code

Published: 17 March 2003 Publication History
  • Get Citation Alerts
  • Abstract

    The FreeBSD operating system more than doubled in size between version 2 and version 4. Many changes to primary modularity are easy to spot at a high-leveL For example, new device drivers account for 38% of the growth. Not surprisingly, changes to crosscutting concerns are more difficult to track. In order to better understand how an aspect-oriented implementation would have fared during this evolution, we introduced several aspects to version 2 code, and then rolled them forward into their subsequent incarnations in versions 3 and 4 respectively. This paper describes the impact evolution had on these concerns, and provides a comparative analysis of the changes required to evolve the tangled versus aspect-oriented implementations.Our results show that for the concerns we chose, the aspect-oriented implementation facilitated evolution in four key ways: (1) changes were better localized, (2) configurability was more explicit, (3) redundancy was reduced, and (4) extensibility aligned with an aspect was more modular. Additionally, we found that the aspect-oriented implementation had negligible impact on performance.

    References

    [1]
    Thomas Anderson, Brian Bershad, Edward Lazowska, and Henry Levy, Scheduler Activations: Effective Kernel Support for User Level Management of Parallelism. ACM Transactions on Computer Systems, February 1992, I0(1).
    [2]
    Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. Information and Control in Gray-Box Systems, in Proceedings of the 18th ACM Symposium on Operating System Principles (SOSP), 2001.
    [3]
    AspectC.www.cs.ubc.ca/labs/spl/aspects/aspectc.html.
    [4]
    Luciano Porto Barreto, and Gilles Muller. Bossa: A Language-Based Approach for the Design of Real Time Schedulers, in Proceedings of the 23rd IEEE Real-Time Systems, 2002.
    [5]
    Andy Chou, Junfeng Yang, Benjamin Chelf, Seth Hallem, and Dawson Engler. An Empirical Study of Operating System Errors, in Proceedings of the 18th ACM Symposium on Operating System Principles (SOSP), 2001.
    [6]
    Yvonne Coady, Gregor Kiczales, Mike Feeley, and Greg Smolyn. Using AspectC to Improve the Modularity of Path-Specific Customization in Operating System Code, in Proceedings of the Joint European Software Engineering Conference (ESEC) and 9th ACM S1GSOFT lnternational Symposium on the Foundations of Software Engineering (FSE-9), 2001.
    [7]
    Marc E. Fiuczynski, and Brian N. Bershad. An Extensible Protocol Architecture for Application-Specific Networking, in Proceedings of the Winter USENIX Conference, 1996.
    [8]
    Norm Hutchinson, and Larry Peterson, The x-Kernel. IEEE Transactions on Software Engineering, 1991, 17(1).
    [9]
    M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Briceno, Russell Hunt, David Mazieres, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie. Application Performance and Flexibility in Exokernel Systems, in Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP), 1997.
    [10]
    Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An Overview of Aspect J, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 2001.
    [11]
    Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-Oriented Programming, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 1997.
    [12]
    Chris Maeda. Flexible System Software through Service Decomposition, in Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA), 1994.
    [13]
    Dylan McNamee, and Katherine Armstrong. Extending the Mach External Pager Interface to Allow User Level Page Replacement Policies, in Technical Report University of Washington UWCSE 90-09-05, 1990.
    [14]
    Gilles Muller, Charles Consel, Renaud Marlet, Luciano Porto Barreto, Fabrice Merillon, and Laurent Reveillere. Toward Robust OSes for Appliances: A New Approach Based on Domain-Specific Languages, in Proceedings of the European Workshop on Operating Systems, 2000.
    [15]
    Paniti Netinant, Constantinos Constantinides, Tzilla Elrad, Mohamed Fayad. Supporting Aspectual Decomposition in the Design of Adaptable Operating Systems Using Aspect-Oriented Frameworks, in Proceedings of the 3rd Workshop on Object-Orientation and Operating Systems (ECOOP-OOOWS), 2000.
    [16]
    Przemyslaw Pardyak, and Brian Bershad. Dynamic Binding for an Extensible System, in Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI), 1996.
    [17]
    Aamod Sane, Ashish Singhai, and Roy Campbell. Framework Design for End-to-End Optimization, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 1998.
    [18]
    Christopher Small, and Margo Seltzer. A Comparison of Os Extension Technologies, in Proceedings of the USENIX Conference, 1996.
    [19]
    D.L. Tennenhouse, and D.H. Wetherall. Towards an Active Network Architecture, ACM Computer Communications Review, April 1996, 26(2).
    [20]
    Alistair C. Veitch, and Norman C. Hutchinson. Kea - a Dynamically Extensible and Configurable Operating System Kernel, in Proceedings of the International Conference on Configurable Distributed Systems (ICCDS), 1996.
    [21]
    William Wulf, Ellis Cohen, William Corwin, Anita Jones, Roy Levin, C. Pierson, and Fred Pollack, Hydra: The Kernel of a Multiprocessor Operating System. Communications of the ACM, 1974, 17(6).
    [22]
    Yasuhiko Yokote. The Apertos Reflective Operating System: The Concept and lts Implementation, in Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA), 1992.

    Cited By

    View all
    • (2023)Performances of Various Aspect-Oriented Systems with their Significant Quality Attributes2023 6th International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I59117.2023.10397926(2427-2435)Online publication date: 14-Sep-2023
    • (2018)State of the art metrics for aspect oriented programming10.1063/1.5032069(020107)Online publication date: 2018
    • (2018)An empirical study on the impact of AspectJ on software evolvabilityEmpirical Software Engineering10.1007/s10664-017-9580-723:4(2018-2050)Online publication date: 1-Aug-2018
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development
    March 2003
    206 pages
    ISBN:1581136609
    DOI:10.1145/643603
    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: 17 March 2003

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    AOSD03
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 41 of 139 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Performances of Various Aspect-Oriented Systems with their Significant Quality Attributes2023 6th International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I59117.2023.10397926(2427-2435)Online publication date: 14-Sep-2023
    • (2018)State of the art metrics for aspect oriented programming10.1063/1.5032069(020107)Online publication date: 2018
    • (2018)An empirical study on the impact of AspectJ on software evolvabilityEmpirical Software Engineering10.1007/s10664-017-9580-723:4(2018-2050)Online publication date: 1-Aug-2018
    • (2016)A comprehensive evaluation of aspect-oriented software quality (AOSQ) model using analytic hierarchy process (AHP) technique2016 2nd International Conference on Advances in Computing, Communication, & Automation (ICACCA) (Fall)10.1109/ICACCAF.2016.7748957(1-7)Online publication date: Sep-2016
    • (2012)The aspect-aware design and implementation of the CiAO operating-system familyTransactions on Aspect-Oriented Software Development IX10.5555/2434958.2434965(168-215)Online publication date: 1-Jan-2012
    • (2012)Aspect-Oriented Refactoring of Legacy ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2010.10938:1(118-140)Online publication date: 1-Jan-2012
    • (2012)Revealing and repairing configuration inconsistencies in large-scale system softwareInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-012-0225-214:5(531-551)Online publication date: 1-Oct-2012
    • (2012)The Aspect-Aware Design and Implementation of the CiAO Operating-System FamilyTransactions on Aspect-Oriented Software Development IX10.1007/978-3-642-35551-6_5(168-215)Online publication date: 2012
    • (2011)Systems evolution and software reuse in object-oriented programming and aspect-oriented programmingProceedings of the 49th international conference on Objects, models, components, patterns10.5555/2025896.2025909(163-178)Online publication date: 28-Jun-2011
    • (2011)Feature consistency in compile-time-configurable system softwareProceedings of the sixth conference on Computer systems10.1145/1966445.1966451(47-60)Online publication date: 10-Apr-2011
    • Show More Cited By

    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