[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/337180.337229acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

A study on exception detection and handling using aspect-oriented programming

Published: 01 June 2000 Publication History

Abstract

Aspect-Oriented Programming (AOP) is intended to ease situations that involve many kinds of code tangling. This paper reports on a study to investigate AOP's ability to ease tangling related to exception detection and handling. We took an existing framework written in Java™, the JWAM framework, and partially reengineered its exception detection and handling aspects using AspectJ™, an aspect-oriented programming extension to Java.
We found that AspectJ supported implementations that drastically reduced the portion of the code related to exception detection and handling. In one scenario, we were able to reduce that code by a factor of 4. We also found that, with respect to the original implementation in plain Java, AspectJ provided better support for different configurations of exceptional behaviors, more tolerance for changes in the specifications of exceptional behaviors, better support for incremental development, better reuse, automatic enforcement of contracts in applications that use the framework, and cleaner program texts. We also found some weaknesses of AspectJ that should be addressed in the future.

References

[1]
ANSI: American National Standard Programming Language PL/I, ANSI X3.53-1976. American Natioal Standards Institute, New York, 1976.
[2]
AspectJ Web Site, <http://www.aspectj.org/>.
[3]
D. B~umer, G. Gryczan, R. Knoll, C. Lilienthal, D. Riehle, H. Z~llighoven: Framework Development for Large Systems, in Communications of the ACM, Vol. 40, No. 10, 1997.
[4]
A. P. Black: Exception Handling: The Case Against, Technical Report 82-01-02, Department of Computer Science, University of Washington, 1982. Reprinted in May 1983.
[5]
A. Bordiga: Language Features for Flexible Handling of Exceptions in Information Systems, in ACM Transactions on Database Systems, Vol. 10, No. 4, pp. 565-603, Dec. 1985.
[6]
A. Bordiga: Exceptions in object-oriented languages, in ACM SIGPLAN Notices, Vol, 21, No. 10, pp. 107-119, October 1986.
[7]
J. Bruno, U. H~lzle, M. Karaorman: jContractor: A Reflective Java Library to Support Design By Contract, Technical Report TRCS98-31, Department of Computer Science, University of California, Santa Barbara, December 1998.
[8]
F. Cristian: Exception Handling and Software Fault Tolerance, in IEEE Transactions on Computers, Vol. c-31, No. 6, pp. 531540, June 1982.
[9]
C. Dony: Exception Handling and Object-Oriented Programming: towards a synthesis, in Proceesings of OOPSLA/ECOOP '90, SIGPLAN Notices, Vol. 25, No. 10. ACM Press, October 1990.
[10]
M. F. Dunn, J. C. Knight: Software Resuse In An Industrial Setting: A Case Study, IEEE, 1991.
[11]
E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, Massachusetts, 1995.
[12]
J. B. Goodenough: Exception Handling: Issues and Proposed Notation, in Communications of the ACM, Vol. 18, No. 12, 1975, pp. 683-696.
[13]
C. A. R. Hoare: An Axiomatic Basis for Computer Programming, in Communications of the ACM, Vol. 12, No. 10, pp. 576-580, 583, October 1969.
[14]
JWAM framework Web Site, <http://www.jwam.de/>.
[15]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, J. Irwin: Aspect-Oriented Programming, in Proceedings of the 11 th European Conference on Object-Oriented Programming (ECOOP '97), Finland, Springer-Verlag, 1997, pp. 220-242.
[16]
R. Kramer: iContract - The Java Design By Contract Tool, in Proceedings of Tools 26 - USA '98, IEEE Computer Society.
[17]
J. Lang, D. B. Stewart: A Study of the Applicability of Existing Exception-Handling Techniques to Component-Based Real-Time Software Technology, in ACM Transactions on Programming Languages and Systems, Vol. 20, No. 2, pp. 274-301, March 1998.
[18]
R. E. Johnson, B. Foote: Designing Reusable Classes, in The Journal of Object-Oriented Programming, Vol. 1, No. 2, 1988, pp. 22-35.
[19]
C. Lopes, G. Kiczales: Recent Developments in AspectJ~, in ECOOP '98 Workshop Reader, Springer-Verlag, 1998.
[20]
P.M. Melliar-Smith, B. Randell: Software Reliability: the Role fo Programmed Exception Handling, in Proceedings of ACM Conference Language Design for Reliable Systems, SIGPLAN Notices, Vol, 12, No. 3, pp. 95-100, March 1977.
[21]
B. Meyer: Object-Oriented Software Construction, Prentice Hall, New Jersey, 1997.
[22]
A. Oberweis, W. Stucky: Exception handling in software systems: a literature survey, (in german), in Wirtschaftsinformatik, Vol. 33, No. 6, December 1991.
[23]
W. Pree: Design Patterns for Object-Oriented Software Development, ACM Press, Addison-Wesley, 1994.
[24]
D. Riehle, H. Z~llighoven: A Pattern Language for Tool Construction and Integration Based on the Tools and Materials Metaphor, in: J. O. Coplien, D. C. Schmidt (eds.): Pattern Languages of Program Design, Reading, Massachusetts, Addison-Wesley, 1995.
[25]
R. W. Sebesta: Concepts of Programming Languages, Third Edition, Addison-Wesley, Reading, Massachusetts, 1996.
[26]
R. J. Walker, E. L. A. Baniassad, G. C. Murphy: An Initial Assessment of Aspect-oriented Programming, in Proceedings of 21st International Conference on Software Engineering (ICSE), IEEE Computer Society Press, 1999.

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
  • (2016)An advice mechanism for non-local flow controlCompanion Proceedings of the 15th International Conference on Modularity10.1145/2892664.2892674(73-78)Online publication date: 14-Mar-2016
  • (2016)Integrating automatic backward error recovery in asynchronous rich clientsProceedings of the 38th International Conference on Software Engineering Companion10.1145/2889160.2889241(192-201)Online publication date: 14-May-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '00: Proceedings of the 22nd international conference on Software engineering
June 2000
843 pages
ISBN:1581132069
DOI:10.1145/337180
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: 01 June 2000

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. contracts
  3. exceptions

Qualifiers

  • Article

Conference

ICSE00
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)145
  • Downloads (Last 6 weeks)29
Reflects downloads up to 11 Jan 2025

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
  • (2016)An advice mechanism for non-local flow controlCompanion Proceedings of the 15th International Conference on Modularity10.1145/2892664.2892674(73-78)Online publication date: 14-Mar-2016
  • (2016)Integrating automatic backward error recovery in asynchronous rich clientsProceedings of the 38th International Conference on Software Engineering Companion10.1145/2889160.2889241(192-201)Online publication date: 14-May-2016
  • (2015)Database-backed program analysis for scalable error propagationProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818827(586-597)Online publication date: 16-May-2015
  • (2015)Database-Backed Program Analysis for Scalable Error Propagation2015 IEEE/ACM 37th IEEE International Conference on Software Engineering10.1109/ICSE.2015.75(586-597)Online publication date: May-2015
  • (2014)Modularizing crosscutting contracts with AspectJMLProceedings of the companion publication of the 13th international conference on Modularity10.1145/2584469.2584476(21-24)Online publication date: 22-Apr-2014
  • (2014)FlowRProceedings of the 13th international conference on Modularity10.1145/2577080.2577090(37-48)Online publication date: 22-Apr-2014
  • (2014)AspectJMLProceedings of the 13th international conference on Modularity10.1145/2577080.2577084(157-168)Online publication date: 22-Apr-2014
  • (2014)ADAMACM Transactions on Software Engineering and Methodology10.1145/252999823:2(1-51)Online publication date: 4-Apr-2014
  • (2014)Evaluating scenario-based SPL requirements approachesRequirements Engineering10.1007/s00766-013-0184-519:4(355-376)Online publication date: 1-Nov-2014
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media