A Pointcut Language for Setting Advanced Breakpoints

Haihan Yin, Christoph Bockisch, Mehmet Akşit

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    2 Citations (Scopus)
    19 Downloads (Pure)

    Abstract

    In interactive debugging, it is an essential task to set breakpoints specifying where a program should be suspended at runtime to allow interaction. A debugging session may use multiple logically related breakpoints so that the sequence of their (de)activations leads to the expected suspension with the least irrelevant suspensions. A (de)activation is sometimes decided by some runtime context values related to that breakpoint. However, existing breakpoints, which are mainly based on line locations, are not expressive enough to describe the logic and the collaboration. Programmers have to manually perform some repeated tasks, thus debugging efficiency is decreased. In this paper, we identify five frequently encountered debugging scenarios that require to use multiple breakpoints. For such scenarios, it is often easier than using the traditional debugger to write pointcuts in an aspect-oriented language, and to suspend the execution at the selected join points. However, existing languages cannot handle the scenarios neatly and uniformly. Therefore, we design and implement a breakpoint language that uses pointcuts to select suspension times in the program. Our language allows programmers to use comprehensible source-level abstractions to define breakpoints. Also, multiple breakpoints can be freely composed to express their collaboration. In this way, an expected suspension can be expressively programmed and reached with less or even no irrelevant suspensions.
    Original languageEnglish
    Title of host publicationAOSD '13
    Subtitle of host publicationProceedings of the 12th International Conference on Aspect-oriented Software Development
    Place of PublicationNew York, NY
    PublisherAssociation for Computing Machinery (ACM)
    Pages145-156
    Number of pages12
    ISBN (Print)978-1-4503-1766-5
    DOIs
    Publication statusPublished - Mar 2013
    Event12th Annual International Conference on Aspect-Oriented Software Development, AOSD 2013 - Fukuoka, Japan
    Duration: 24 Mar 201329 Mar 2013
    Conference number: 12

    Conference

    Conference12th Annual International Conference on Aspect-Oriented Software Development, AOSD 2013
    Abbreviated titleAOSD
    CountryJapan
    CityFukuoka
    Period24/03/1329/03/13

    Keywords

    • EWI-23209
    • Pointcut language
    • METIS-297606
    • IR-86097
    • Advanced breakpoint
    • Debugging

    Fingerprint Dive into the research topics of 'A Pointcut Language for Setting Advanced Breakpoints'. Together they form a unique fingerprint.

  • Cite this

    Yin, H., Bockisch, C., & Akşit, M. (2013). A Pointcut Language for Setting Advanced Breakpoints. In AOSD '13: Proceedings of the 12th International Conference on Aspect-oriented Software Development (pp. 145-156). New York, NY: Association for Computing Machinery (ACM). https://doi.org/10.1145/2451436.2451454