skip to main content
10.1145/1753196.1753224acmconferencesArticle/Chapter ViewAbstractPublication PagesplopConference Proceedingsconference-collections
research-article

A catalogue of bug patterns for exception handling in aspect-oriented programs

Authors Info & Claims
Published:18 October 2008Publication History

ABSTRACT

Aspects allow a developer to externally add new functionality to a program. This additional functionality may also throw new exceptions that will flow through the program execution until they are handled. Moreover, aspects can also be used to handle exceptions thrown by base code or even other aspects. Unfortunately, exceptions thrown by aspects --- or exceptions that should be handled by them --- may flow through the program execution in unexpected ways leading to failures such as uncaught exceptions or exceptions being caught by the wrong handlers. In a previous empirical study we investigated the causes of such failures in Aspect-Oriented programs. In this paper we present causes of such failures as a catalogue of bug patterns for exception handling in Aspect-Oriented programs.

References

  1. S. Wagner, F. Deissenboeck, M. Aichner, J. Wimmer M. Schwalb. An Evaluation of Two Bug Pattern Tools for Java, 2008 International Conference on Software Testing, Verification, and Validation, 2008, pp. 248--257. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Louridas. Static Code Analysis. IEEE Software 23(4), p. 58--61, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Allen. Bug Patterns In Java. APress, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Y. Nir, E. Farchi, and S. Ur. Concurrent bug patterns and how to test them. In International. Parallel and Distributed Processing Symposium, IPDPS 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. FindBugs#8482; - Find Bugs in Java Programs. On site: http://findbugs.sourceforge.net/bugDescriptions.htmlGoogle ScholarGoogle Scholar
  6. http://www.eclipse.org/aspectjGoogle ScholarGoogle Scholar
  7. http://www.jboss.org/jbossaop/Google ScholarGoogle Scholar
  8. http://www.springframework.org/Google ScholarGoogle Scholar
  9. A. Colyer, A. Clement, "Large-Scale AOSD for Middleware", Proc. AOSD Conf., 2004, ACM, pp. 56--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Glassbox Inspector. https://glassbox-inspector.dev.java.net/Google ScholarGoogle Scholar
  11. G. Kiczales; J. Lamping; A. Mendhekar; C. Maeda; C. Lopes; J. Loingtier; J. Irwin. Aspect-Oriented Programming. In: Proceedings of the European Conference of Object-Oriented Programming (ECOOP'97), Springer-Verlag, 1997, p. 220--242.Google ScholarGoogle Scholar
  12. S. Zhang; J. Zhao. On Identifying Bug Patterns in Aspect-Oriented Programs. In: Proceedings of the Computer Software and Applications Conference (COMPSAC 2007), 2007, p. 431--438. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Coelho, A. Rashid, A. Garcia, F. Ferrari, N. Cacho, U. Kulesza, A. von Staa, C. Lucena, Assessing the Impact of Aspects on Exception Flows: An Exploratory Study, ECOOP 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Mezini; K. Ostermann. Conquering Aspects with Caesar. In: Proceedings of the Proceedings of the 2nd International Conference on Aspect-oriented Software Development, Boston, Massachusetts, ACM Press, 2003, p. 90--99 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Soares; P. Borba; E. Laureano: Distribution and Persistence as Aspects. In: Software: Practice and Experience, Wiley, vol. 36 (7), (2006) 711--759. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Buschmann; R. Meunier; H. Rohnert; P. Sommerlad; M. Stal. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. Wiley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Massoni; V. Alves; S. Soares; P. Borba. PDC: Persistent Data Collections pattern. In: Proceedings of the In First Latin American Conference on Pattern Languages of Programming --- SugarLoafPLoP, University of Sao Paulo Magazine - ICMC, 2001, p. 311--326.Google ScholarGoogle Scholar
  18. F. Filho, A. Garcia, C. Rubira, The Error Handling Aspect Pattern, SugarLoafPlop 2007.Google ScholarGoogle Scholar
  19. A. Garcia; C. Rubira. A Comparative Study of Exception Handling Mechanisms for Building Dependable Object-Oriented Software. Journal of Systems and Software, 59 (6), 2001, p. 197--222 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Colyer, et al. Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools. Addison-Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Goodenough. Exception Handling: Issues and a Proposed Notation. Communications of the ACM, 18(12), p. 683--696, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Miller; A. Tripathi. Issues with Exception Handling in Object-Oriented Systems. In: Proceedings of the European Conference on Object Oriented Programming (ECOOP'97), Springer, 1997, p. 85--103.Google ScholarGoogle Scholar
  23. R. Filman, T. Elrad, S. Clarke, M. Aksit, Aspect-Oriented Software Development, Addison-Wesley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Clifton G. T. Leavens, J. Noble. MAO: Ownership and Effects for More Effective Reasoning about Aspects. In: Proceedings of the European Conference on Object Oriented Programming (ECOOP), Springer, 2007, p. 451--475. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A catalogue of bug patterns for exception handling in aspect-oriented programs

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader