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

Using AOP for detailed runtime monitoring instrumentation

Published: 20 July 2009 Publication History
  • Get Citation Alerts
  • Abstract

    Although AOP has long been used for monitoring purposes, the level of detail that virtually all AOP frameworks support is not enough to support broad classes of monitoring applications. Often the method or function call is the basic unit of code weaving, and if some data access weaving is supported it is usually very limited, e.g., to object field access. In this paper we demonstrate the need for AOP to be extended if it is to support broad runtime monitoring needs, and then present two new joinpoint types for AspectJ, the basic block and loop back edge types. These allow much more fine-grained weaving of advice, which in turn supports a much larger category of runtime monitoring applications. We demonstrate the feasibility of these extensions with example prototype implementations using the AspectBench Compiler (abc).

    References

    [1]
    M. Arnold and B. G. Ryder. A Framework for Reducing the Cost of Instrumented Code. SIGPLAN Not., 36(5):168--179, 2001.
    [2]
    P. Avgustinov, A. S. Christensen, L. 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 AOSD '05: Proc. 4th Int'l Conf. on Aspect-Oriented Software Development, pages 87--98, New York, NY, USA, 2005. ACM.
    [3]
    P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. Optimising AspectJ. In PLDI '05: Proc. 2005 ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 117--128, New York, NY, USA, 2005. ACM.
    [4]
    C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann. Virtual Machine Support for Dynamic Join Points. In AOSD '04: Proc. 3rd International Conference on Aspect-Oriented Software Development, pages 83--92, New York, NY, USA, 2004. ACM.
    [5]
    E. Bodden and K. Havelund. Racer: Effective Race Detection Using Aspectj. In ISSTA '08: Proc. 2008 Int'l Symposium on Software Testing and Analysis, pages 155--166, New York, NY, USA, 2008. ACM.
    [6]
    J. Bonér and E. Kuleshov. Clustering the Java Virtual Machine using Aspect-Oriented Programming. In Proc. AOSD 2007 Industry Track, 2007.
    [7]
    F. Chen and G. Roşu. MOP: an Efficient and Generic Runtime Verification Framework. In OOPSLA '07: Proc. 22nd ACM SIGPLAN Conf. on Object Oriented Programming, Systems, and Applications, pages 569--588, New York, NY, USA, 2007. ACM.
    [8]
    R. Dyer and H. Rajan. Nu: a Dynamic Aspect-Oriented Intermediate Language Model and Virtual Machine for Flexible Runtime Adaptation. In AOSD '08: Proc. 7th Int'l Conf. on Aspect-Oriented Software Development, pages 191--202. ACM, 2008.
    [9]
    M. D. Ernst, J. H. Perkins, P. J. Guo, S. McCamant, C. Pacheco, M. S. Tschantz, and C. Xiao. The Daikon System for Dynamic Detection of Likely Invariants. Sci. Comput. Program., 69(1-3):35--45, 2007.
    [10]
    K. W. Hamlen and M. Jones. Aspect-Oriented In-lined Reference Monitors. In PLAS '08: Proc. 3rd ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, pages 11--20, New York, NY, USA, 2008. ACM.
    [11]
    B. Harbulot and J. R. Gurd. A Join Point for Loops in AspectJ. In AOSD '06: Proc. 5th Int'l Conf. on Aspect-Oriented Software Development, pages 63--74, New York, NY, USA, 2006. ACM.
    [12]
    R. Khaled, J. Noble, and R. Biddle. InspectJ: Program Monitoring for Visualisation using AspectJ. In ACSC '03: Proc. 26th Australasian Computer Science Conference, pages 359--368, Darlinghurst, Australia, Australia, 2003. Australian Computer Society, Inc.
    [13]
    G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In ECOOP '01: Proc. of the 15th European Conference on Object-Oriented Programming, pages 327--353, London, UK, 2001. Springer-Verlag.
    [14]
    K. Kiviluoma, J. Koskinen, and T. Mikkonen. Run-time Monitoring of Architecturally Significant Behaviors Using Behavioral Profiles and Aspects. In ISSTA '06: Proc. Int'l Symposium on Software Testing and Analysis, pages 181--190. ACM, 2006.
    [15]
    B. Liblit, A. Aiken, A. X. Zheng, and M. I. Jordan. Bug Isolation Via Remote Program Sampling. SIGPLAN Not., 38(5):141--154, 2003.
    [16]
    E. Metz, R. Lencevicius, and T. F. Gonzalez. Performance Data Collection Using a Hybrid Approach. SIGSOFT Softw. Eng. Notes, 30(5):126--135, 2005.
    [17]
    A. Nusayr and J. Cook. Extending AOP to Support Broad Runtime Monitoring Needs. In Proc. 2009 Int'l Conf. on Software Engineering and Knowledge Engineering (SEKE), 2009. to appear.
    [18]
    M. Palankar and J. E. Cook. Merging Traces of Hardware-Assisted Data Breakpoints. In WODA '05: Proc. 3rd International Workshop on Dynamic Analysis, pages 1--7, New York, NY, USA, 2005. ACM.
    [19]
    H. Rajan. A Case for Explicit Join Point Models for Aspect-Oriented Intermediate Languages. In VMIL '07: Proc. 1st Workshop on Virtual Machines and Intermediate Languages for Emerging Modularization Mechanisms, page 4, New York, NY, USA, 2007. ACM.
    [20]
    H. Rajan and K. Sullivan. Aspect Language Features for Concern Coverage Profiling. In AOSD '05: Proc. 4th Int'l Conference on Aspect-Oriented Software Development, pages 181--191, New York, NY, USA, 2005. ACM.
    [21]
    P. Zhou, F. Qin, W. Liu, Y. Zhou, and J. Torrellas. iWatcher: Efficient Architectural Support for Software Debugging. In Proc. of the 31st International Symposium on Computer Architecture (ISCA, pages 224--235, 2004.

    Cited By

    View all
    • (2024)Checking Complex Source Code-Level Constraints using Runtime VerificationCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663845(255-265)Online publication date: 10-Jul-2024
    • (2024)FE4NorOMAS: A Distributed Fuzzy Enforcement Approach for Normative Open Multi-Agent SystemsInternational Journal of Fuzzy Systems10.1007/s40815-024-01800-5Online publication date: 3-Jul-2024
    • (2023)A Flexible Approach for Solving Quality Issues by Means of Collecting Runtime Data2023 International Conference on Software and System Engineering (ICoSSE)10.1109/ICoSSE58936.2023.00014(30-37)Online publication date: Apr-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    WODA '09: Proceedings of the Seventh International Workshop on Dynamic Analysis
    July 2009
    52 pages
    ISBN:9781605586564
    DOI:10.1145/2134243
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 20 July 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. aspect oriented programming
    2. runtime monitoring

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ISSTA '09
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Checking Complex Source Code-Level Constraints using Runtime VerificationCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663845(255-265)Online publication date: 10-Jul-2024
    • (2024)FE4NorOMAS: A Distributed Fuzzy Enforcement Approach for Normative Open Multi-Agent SystemsInternational Journal of Fuzzy Systems10.1007/s40815-024-01800-5Online publication date: 3-Jul-2024
    • (2023)A Flexible Approach for Solving Quality Issues by Means of Collecting Runtime Data2023 International Conference on Software and System Engineering (ICoSSE)10.1109/ICoSSE58936.2023.00014(30-37)Online publication date: Apr-2023
    • (2023)BlockASP: A Framework for AOP-Based Model Checking Blockchain SystemIEEE Access10.1109/ACCESS.2023.332506011(115062-115075)Online publication date: 2023
    • (2019)Monitoring open multi-agent systems: An aspect-oriented programming based approachMultiagent and Grid Systems10.3233/MGS-19030715:2(155-177)Online publication date: 17-Jul-2019
    • (2018)Generating profile-based signatures for online intrusion and failure detectionInformation and Software Technology10.1016/j.infsof.2013.09.00456:2(238-251)Online publication date: 30-Dec-2018
    • (2016)PASTSoftware—Practice & Experience10.1002/spe.231346:3(341-360)Online publication date: 1-Mar-2016
    • (2015)Improving Performance and Maintainability of Object Cloning with Lazy Clones: An Empirical Evaluation2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1109/ESEM.2015.7321202(1-8)Online publication date: Oct-2015
    • (2015)Monitoring of Client-Cloud InteractionCorrect Software in Web Applications and Web Services10.1007/978-3-319-17112-8_6(177-228)Online publication date: 2015
    • (2011)Retroactive aspectsProceedings of the Ninth International Workshop on Dynamic Analysis10.1145/2002951.2002960(29-34)Online publication date: 18-Jul-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