Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2451436.2451454acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

A pointcut language for setting advanced breakpoints

Published: 24 March 2013 Publication History

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.

References

[1]
C. Allan, P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. Adding trace matching with free variables to AspectJ. SIGPLAN Not., 40(10):345--364, Oct. 2005.
[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 Proceedings of the 4th AOSD, pages 87--98, New York, NY, USA, 2005. ACM.
[3]
C. Bockisch, A. Sewe, H. Yin, M. Mezini, and M. Aksit. An in-depth look at alia4j. Journal of Object Technology, 11(1):7:1--28, Apr. 2012.
[4]
E. Bodden. Stateful breakpoints: a practical approach to defining parameterized runtime monitors. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ESEC/FSE '11, pages 492--495, New York, NY, USA, 2011. ACM.
[5]
E. Bodden, F. Chen, and G. Rosu. Dependent advice: a general approach to optimizing history-based aspects. In Proceedings of the 8th ACM international conference on Aspect-oriented software development, AOSD '09, New York, NY, USA, 2009. ACM.
[6]
R. Chern and K. De Volder. Debugging with control- ow breakpoints. In Proceedings of the 6th international conference on Aspect-oriented software development, AOSD '07, pages 96--106, New York, NY, USA, 2007. ACM.
[7]
M. Ducassé. Coca: an automated debugger for C. In Proceedings of the 21st international conference on Software engineering, ICSE '99, pages 504--513, New York, NY, USA, 1999. ACM.
[8]
P. E. A. Durr. Resource-based verification for robust composition of aspects. PhD thesis, Enschede, June 2008.
[9]
M. Eisenstadt. My hairiest bug war stories. Commun. ACM, 40(4):30--37, Apr. 1997.
[10]
H. Z. Girgis and B. Jayaraman. JavaDD: a declarative debugger for java. Technical report, 2006.
[11]
B. Hailpern and P. Santhanam. Software debugging, testing, and verification. IBM Syst. J., Jan. 2002.
[12]
A. Hannousse, R. Douence, and G. Ardourel. Static analysis of aspect interaction and composition in component models. In Proceedings of the 10th ACM international conference on Generative programming and component engineering, GPCE '11, pages 43--52, New York, NY, USA, 2011. ACM.
[13]
E. Katz and S. Katz. Incremental analysis of interference among aspects. In Proceedings of the 7th workshop on Foundations of aspect-oriented languages, FOAL '08, New York, NY, USA, 2008. ACM.
[14]
B. P. Lientz and E. B. Swanson. Software Maintenance Management. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1980.
[15]
A. Marot and R. Wuyts. Detecting unanticipated aspect interferences at runtime with compositional intentions. In Proceedings of the Workshop on AOP and Meta-Data for Software Evolution, RAM-SE '09, New York, NY, USA, 2009. ACM.
[16]
A. Marot and R. Wuyts. Composing aspects with aspects. In Proceedings of the 9th International Conference on Aspect-Oriented Software Development, AOSD '10, New York, NY, USA, 2010. ACM.
[17]
I. Nagy. On the design of aspect-oriented composition models for software evolution. PhD thesis, Enschede, June 2006.
[18]
Y. Usui and S. Chiba. Bugdel: An aspect-oriented debugging system. In Proceedings of the 12th Asia-Pacific Software Engineering Conference, APSEC '05, pages 790--795, Washington, DC, USA, 2005. IEEE Computer Society.
[19]
H. Yin, C. Bockisch, and M. Aksit. A fine-grained debugger for aspect-oriented programming. In Proceedings of the 11th annual international conference on Aspect-oriented Software Development, AOSD '12, New York, NY, USA, 2012. ACM.

Cited By

View all
  • (2019)Suspend-Less Debugging for Interactive and/or Realtime Programs2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST.2019.00028(194-205)Online publication date: Apr-2019
  • (2013)Instance pointcuts for program comprehensionProceedings of the 1st workshop on Comprehension of complex systems10.1145/2451592.2451596(7-12)Online publication date: 25-Mar-2013

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '13: Proceedings of the 12th annual international conference on Aspect-oriented software development
March 2013
232 pages
ISBN:9781450317665
DOI:10.1145/2451436
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

  • AOSA: Aspect-Oriented Software Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 March 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. advanced breakpoint
  2. debugging
  3. pointcut language

Qualifiers

  • Research-article

Conference

AOSD '13
Sponsor:
  • AOSA
AOSD '13: Aspect-Oriented Software Development
March 24 - 29, 2013
Fukuoka, Japan

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Suspend-Less Debugging for Interactive and/or Realtime Programs2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST.2019.00028(194-205)Online publication date: Apr-2019
  • (2013)Instance pointcuts for program comprehensionProceedings of the 1st workshop on Comprehension of complex systems10.1145/2451592.2451596(7-12)Online publication date: 25-Mar-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