Example similarity map    Similar Patents and Articles Toggle Patent Map

Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

Many of the problems that stem from the use of exception handling are caused by the local way in which exceptions are handled. It demands that developers understand the source of an exception, the place where it is handled, and everything in between. As a consequence, exceptions easily get "out of control" and, as system development progresses, exceptional control flows become less well-understood, with potentially negative consequences for the program maintainability and reliability. This paper presents an innovative aspect-oriented model for exception handling implementation. In contrast to other exception handling mechanisms, our model provides abstractions to explicitly describe global views of exceptional control flows. As a result, this new model makes it possible to understand exception flows from an end-to-end perspective by looking at a single part of the program. Also, it leverages existing pointcut languages to make the association of handlers with normal code more flexible. The implementation of our proposed model, called EJFlow, extends the AspectJ programming language with the aim of promoting enhanced robustness and program modularization. We evaluate qualitatively and quantitatively the proposed exception handling model through a case study targeting a real mobile application.

top of pageAUTHORS



Author image not provided  Nelio Cacho

No contact information provided yet.

Bibliometrics: publication history
Publication years2004-2017
Publication count39
Citation Count451
Available for download20
Downloads (6 Weeks)22
Downloads (12 Months)379
Downloads (cumulative)8,682
Average downloads per article434.10
Average citations per article11.56
View colleagues of Nelio Cacho


Fernando Castor Filho Fernando Castor Filho

homepage
castoratcin.ufpe.br
Bibliometrics: publication history
Publication years2001-2017
Publication count53
Citation Count424
Available for download31
Downloads (6 Weeks)71
Downloads (12 Months)1,291
Downloads (cumulative)35,753
Average downloads per article1,153.32
Average citations per article8.00
View colleagues of Fernando Castor Filho


Author image not provided  Alessandro Garcia

No contact information provided yet.

Bibliometrics: publication history
Publication years1999-2017
Publication count165
Citation Count1,348
Available for download77
Downloads (6 Weeks)109
Downloads (12 Months)1,352
Downloads (cumulative)27,031
Average downloads per article351.05
Average citations per article8.17
View colleagues of Alessandro Garcia


Eduardo Figueiredo Eduardo Figueiredo

homepage
figueiredoatdcc.ufmg.br
Bibliometrics: publication history
Publication years2005-2017
Publication count56
Citation Count674
Available for download24
Downloads (6 Weeks)67
Downloads (12 Months)611
Downloads (cumulative)10,978
Average downloads per article457.42
Average citations per article12.04
View colleagues of Eduardo Figueiredo

top of pageREFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Buhr, P. A. and Krischer, R. Bound Exceptions in Object Programming. In Proceedings of the ECOOP 2003 Workshop on Exception Handling in Object Oriented Systems, pp. 20--26, Darmstadt, Germany, July 2003.
 
3
 
4
5
 
6
Cargill, T. Exception Handling: A False Sense of Security. C++ Report, vol. 6, no. 9, pp. 21--24, Nov.-Dec. 1994.
 
7
Castor Filho, F., Garcia, A., Rubira, C. Extracting Error Handling to Aspects: A Cookbook. In Proc. of the 23rd ICSM, Paris, France, 2007.
8
 
9
10
 
11
Chidamber, S., and Kemerer, C. A Metrics Suite for Object Oriented Design. IEEE Trans. on Software Engineering, 1994, 476--493.
 
12
Cui, Q. and Gannon, J. D. Data-Oriented Exception Handling. IEEE Transactions on Software Engineering 18(5), pages 393--401, 1992.
 
13
Cusumano, M. A. 'Systematic' vs. 'Accidental' Reuse in Japanese Software Factories. MIT Sloan School of Management Working Paper #3328-BPS-91, September 1991.
14
 
15
 
16
 
17
Figueiredo, E., Garcia, A. and Lucena, C. AJATO: An AspectJ Assessment Tool. Proc. of ECOOP'06 (demo), 2006.
18
 
19
 
20
 
21
Garcia, A, Beder, D. and Rubira, C. An exception handling software architecture for developing fault-tolerant software, Proceedings of the 5th IEEE High Assurance Systems Engineering Symposium, USA, 2000, 311--320.
 
22
 
23
 
24
Goodenough, J. B. Exception handling: Issues and a proposed notation. Comm. of the ACM, 18(12):683--696, 1975.
 
25
 
26
Kiczales, G. et al. Aspect-oriented programming. In Proceedings of ECOOP'97, pages 220--242, 1997.
 
27
Lacourte, S. Exceptions in guide, an object-oriented language for distributed applications. In Proceedings of the 5th ECOOP'91, LNCS 512, pages 268--287, 1991.
28
 
29
Litke, J. D. A systematic approach for implementing fault tolerant software designs in Ada. In Proceedings of the Conference on TRI-ADA '90 (Baltimore, Maryland, United States, December 03--06, 1990).
 
30
 
31
Miller, M. and Tripathi, A. Issues with Exception Handling in Object-Oriented Systems. In Proceedings of ECOOP, pp.85--103, LNCS-1241, Finland, 1997.
 
32
33
34
 
35
Parnas, D. L. and Würges, H. Response to Undesired Events in Software Systems. In Proceedings of the 2nd International Conference on Software Engineering, pages 437--446, San Francisco, USA, 1976.
 
36
Randell, B. and Xu, J. The Evolution of the Recovery Block Concept. In Software Fault Tolerance (M. Lyu, Ed.), Trends in Software, pages 1--22, J. Wiley, 1994.
 
37
Reimer, D., Srinivasan, H. Analyzing exception usage in large Java applications. In: Proceedings of ECOOP'2003 Workshop on Exception Handling in Object-Oriented Systems.
38
39
 
40
Schaefer, C. F. and Bundy, G. N. Static analysis of exception handling in Ada. Software: Practice and Experience, 23(10):1157--1174, October 1993.
41
 
42

top of pageCITED BY

26 Citations

 
 
 
 
 
 
 
 
 
 
 

top of pageINDEX TERMS

The ACM Computing Classification System (CCS rev.2012)

Note: Larger/Darker text within each node indicates a higher relevance of the materials to the taxonomic classification.

top of pagePUBLICATION

Title AOSD '08 Proceedings of the 7th international conference on Aspect-oriented software development table of contents
Conference Chair Theo D'Hondt Vrije Universiteit Brussel, Belgium
Pages 72-83
Publication Date2008-03-31 (yyyy-mm-dd)
Funding Sources Fundação de Amparo à Pesquisa do Estado de São Paulo
Sixth Framework Programme
Sponsors AOSA Aspect-Oriented Software Association
In-Cooperations SIGPLAN ACM Special Interest Group on Programming Languages
SIGSOFT ACM Special Interest Group on Software Engineering
PublisherACM New York, NY, USA ©2008
ISBN: 978-1-60558-044-9 doi>10.1145/1353482.1353492
Conference MODULARITYModularity (formerly known as Aspect-oriented Software Development - AOSD) MODULARITY logo
Paper Acceptance Rate 17 of 79 submissions, 22%
Overall Acceptance Rate 178 of 718 submissions, 25%
Year Submitted Accepted Rate
AOSD '06 96 23 24%
AOSD '07 107 19 18%
AOSD '08 79 17 22%
AOSD '09 86 19 22%
AOSD '10 62 18 29%
AOSD '11 95 23 24%
AOSD '12 79 20 25%
AOSD '13 54 18 33%
MODULARITY '14 60 21 35%
Overall 718 178 25%

top of pageREVIEWS


Reviews are not available for this item
Computing Reviews logo

top of pageCOMMENTS

Be the first to comment To Post a comment please sign in or create a free Web account

top of pageTable of Contents

Proceedings of the 7th international conference on Aspect-oriented software development
Table of Contents
SESSION: Aspects and generative programming
AspectT: aspect-oriented test case instantiation
Sebastian Benz
Pages: 1-12
doi>10.1145/1353482.1353484
Full text: PDFPDF

Test case instantiation is the transformation of abstract test cases into executable test scripts. Abstract test cases are either created during model based test case generation or are manually defined in a suitable modeling notation. The transformation ...
expand
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
Eli Tilevich, Godmar Back
Pages: 13-24
doi>10.1145/1353482.1353485
Full text: PDFPDF

Program enhancement refers to adding new functionality to an existing program. We argue that repetitive program enhancement tasks can be expressed as patterns, and that the application of such enhancement patterns can be automated. This paper presents ...
expand
Modularity first: a case for mixing AOP and attribute grammars
Pavel Avgustinov, Torbjörn Ekman, Julian Tibble
Pages: 25-35
doi>10.1145/1353482.1353486
Full text: PDFPDF

We have reimplemented the frontend of the extensible AspectBench Compiler for AspectJ, using the aspect-oriented meta-compiler JastAdd. The original frontend was purely object-oriented. Each frontend extends Java with AspectJ and an additional set of ...
expand
SESSION: Reasoning about aspects
AJANA: a general framework for source-code-level interprocedural dataflow analysis of AspectJ software
Guoqing Xu, Atanas Rountev
Pages: 36-47
doi>10.1145/1353482.1353488
Full text: PDFPDF

Aspect-oriented software presents new challenges for the designers of static analyses. Our work aims to establish systematic foundations for dataflow analysis of AspectJ software. We propose a control- and data-flow program representation for AspectJ ...
expand
Reasoning about aspects with common sense
Klaus Ostermann
Pages: 48-59
doi>10.1145/1353482.1353489
Full text: PDFPDF

There has been a lot of debate about the modularity of aspect-oriented programs, and in particular the ability to reason about such programs in a modular way, although it has never been defined precisely what modular reasoning means. This work analyzes ...
expand
SESSION: Programming language design and implementation I
StrongAspectJ: flexible and safe pointcut/advice bindings
Bruno De Fraine, Mario Südholt, Viviane Jonckers
Pages: 60-71
doi>10.1145/1353482.1353491
Full text: PDFPDF

AspectJ was designed as a seamless aspect-oriented extension of the Java programming language. However, unlike Java, AspectJ does not have a safe type system: an accepted binding between a pointcut and an advice can give rise to type errors at runtime. ...
expand
EJFlow: taming exceptional control flows in aspect-oriented programming
Nelio Cacho, Fernando Castor Filho, Alessandro Garcia, Eduardo Figueiredo
Pages: 72-83
doi>10.1145/1353482.1353492
Full text: PDFPDF

Many of the problems that stem from the use of exception handling are caused by the local way in which exceptions are handled. It demands that developers understand the source of an exception, the place where it is handled, and everything in between. ...
expand
Relational aspects as tracematches
Eric Bodden, Reehan Shaikh, Laurie Hendren
Pages: 84-95
doi>10.1145/1353482.1353493
Full text: PDFPDF

The relationships between objects in an object-oriented program are an essential property of the program's design and implementation. Two previous approaches to implement relationships with aspects were association aspects, an AspectJ-based language ...
expand
Test-based pointcuts for robust and fine-grained join point specification
Kouhei Sakurai, Hidehiko Masuhara
Pages: 96-107
doi>10.1145/1353482.1353494
Full text: PDFPDF

We propose test-based pointcuts, a novel pointcut mechanism for AspectJ-like aspect-oriented programming languages. The idea behind the test-based pointcuts is to specify join points through unit test cases associated with the target program. ...
expand
SESSION: Aspects for adaptation and variability support
Edicts: implementing features with flexible binding times
Venkat Chakravarthy, John Regehr, Eric Eide
Pages: 108-119
doi>10.1145/1353482.1353496
Full text: PDFPDF

In a software product line, the binding time of a feature is the time at which one decides to include or exclude a feature from a product. Typical binding site implementations are intended to support a single binding time only, e.g., compile time ...
expand
Support for distributed adaptations in aspect-oriented middleware
Eddy Truyen, Nico Janssens, Frans Sanen, Wouter Joosen
Pages: 120-131
doi>10.1145/1353482.1353497
Full text: PDFPDF

Many aspect-oriented middleware platforms support run-time aspect weaving, but do not support coordinating distributed changes to a set of aspects at run-time. A distributed change entails weaving or unweaving multiple inter-dependent aspects that are ...
expand
SESSION: Tool support
Tool-supported refactoring of aspect-oriented programs
Jan Wloka, Robert Hirschfeld, Joachim Hänsel
Pages: 132-143
doi>10.1145/1353482.1353499
Full text: PDFPDF

Aspect-oriented programming languages provide new composition mechanisms for improving the modularity of crosscutting concerns. Implementations of such language support use advanced program representations, like abstract syntax trees or stack traces, ...
expand
Tool support for understanding and diagnosing pointcut expressions
Lingdong Ye, Kris De Volder
Pages: 144-155
doi>10.1145/1353482.1353500
Full text: PDFPDF

In this paper, we present algorithms that compute two kinds of information that can help AspectJ developers diagnose and fix potential problems with their pointcuts. First, we present an algorithm to compute almost matched joinpoints. Second, we present ...
expand
View-based maintenance of graphical user interfaces
Peng Li, Eric Wohlstadter
Pages: 156-167
doi>10.1145/1353482.1353501
Full text: PDFPDF

One difficulty in software maintenance is that the relationship between observed program behavior and source code is not always clear. In this paper we are concerned specifically with the maintenance of graphical user interfaces (GUIs). User interface ...
expand
SESSION: Programming language design and implementation II
Expressive scoping of dynamically-deployed aspects
Éric Tanter
Pages: 168-179
doi>10.1145/1353482.1353503
Full text: PDFPDF

Several aspect languages and frameworks have recognized the need for dynamic deployment of aspects. However, they do not provide sufficiently expressive means to precisely specify the scope of deployed aspects. As a result, programmers have to resort ...
expand
Lightweight virtual machine support for AspectJ
Ryan M. Golbeck, Samuel Davis, Immad Naseer, Igor Ostrovsky, Gregor Kiczales
Pages: 180-190
doi>10.1145/1353482.1353504
Full text: PDFPDF

Advice weaving can be efficiently supported with only lightweight enhancements to existing Virtual Machines. Performing weaving at the Java bytecode (JBC) level while preserving appropriate metadata enables the VM to understand the AspectJ-specific semantics ...
expand
Nu: a dynamic aspect-oriented intermediate language model and virtual machine for flexible runtime adaptation
Robert Dyer, Hridesh Rajan
Pages: 191-202
doi>10.1145/1353482.1353505
Full text: PDFPDF

A variety of dynamic aspect-oriented language constructs are proposed in recent literature with corresponding, compelling use cases. Such constructs demonstrate the need to dynamically adapt the set of join points intercepted at a fine-grained level. ...
expand

Powered by The ACM Guide to Computing Literature


The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2019 ACM, Inc.
Terms of Usage   Privacy Policy   Code of Ethics   Contact Us