Exception handling mechanisms are intended to Support the development of robust software. However, the implementation of such mechanisms with aspect-oriented (AO) programming might lead to error-prone scenarios. As as...
详细信息
ISBN:
(纸本)9783540705918
Exception handling mechanisms are intended to Support the development of robust software. However, the implementation of such mechanisms with aspect-oriented (AO) programming might lead to error-prone scenarios. As aspects extend or replace existing functionality at specific join points in the code execution, aspects' behavior may bring new exceptions, which can flow through the program execution in unexpected ways. This paper presents a systematic Study that assesses the error proneness of AOP mechanisms oil exception flows of evolving programs. The analysis was based on the object-oriented and the aspect-oriented versions of three medium-sized systems from different application domains. Our findings show that exception handling code in AO systems is error-prone, since all versions analyzed presented an increase in the number of uncaught exceptions and exceptions caught by the wrong handler. The causes of such problems are characterized and presented as a catalogue of bug patterns.
Characteristics of inheritance metrics are compared with size and length measurement using the property based validation framework of Briand et al. About a dozen inheritance metrics are analyzed and compared with some...
详细信息
X10 is an objectorientedprogramming language with a sophisticated type system (constraints, class invariants, non-erased generics, closures) and concurrency constructs (asynchronous activities, multiple places). Obj...
详细信息
ISBN:
(纸本)9783642310577;9783642310560
X10 is an objectorientedprogramming language with a sophisticated type system (constraints, class invariants, non-erased generics, closures) and concurrency constructs (asynchronous activities, multiple places). object initialization is a cross-cutting concern that interacts with all of these features in delicate ways that may cause type, runtime, and security errors. This paper discusses possible designs for object initialization, and the "hardhat" design chosen and implemented in X10 version 2.2. Our implementation includes a fixed-point inter-procedural (intra-class) data-flow analysis that infers, for each method called during initialization, the set of fields that are read, and those that are asynchronously and synchronously assigned. Our codebase of more than 200K lines of code only had 104 annotations. Finally, we formalize the essence of initialization checking with an effect system intended to complement a standard FJ style formalization of the type system for X10. This system is substantially simpler than the masked types of [10], and it is more practical (for X10) than the free-committed types of [12]. This is the first formalization of a type and (flow-sensitive) effect system for safe initialization in the presence of concurrency constructs.
The unrelenting pace of change that confronts contemporary software developers compels them to make their applications more configurable, flexible, and adaptable. A way to meet such requirements is to use an Adaptive ...
详细信息
The proceedings contain 25 papers. The topics discussed include: fault-tolerant distributed reactive programming;theory and practice of coroutines with snapshots;a characteristic study of parameterized unit tests in ....
ISBN:
(纸本)9783959770798
The proceedings contain 25 papers. The topics discussed include: fault-tolerant distributed reactive programming;theory and practice of coroutines with snapshots;a characteristic study of parameterized unit tests in .NET open source projects;learning to accelerate symbolic execution via code transformation;accelerating dynamically-typed languages on heterogeneous platforms using guards optimization;automating object transformations for dynamic software updating via online execution synthesis;LEGATO: an at-most-once analysis with applications to dynamic configuration updates;and efficient reflection string analysis via graph coloring.
Because Remote Procedure Calls do not compose efficiently, designers of distributed object systems use Data Transfer and Remote Facade patterns to create large-granularity interfaces, hard-coded for particular client ...
详细信息
ISBN:
(纸本)9783642030123
Because Remote Procedure Calls do not compose efficiently, designers of distributed object systems use Data Transfer and Remote Facade patterns to create large-granularity interfaces, hard-coded for particular client use cases. As an alternative to RPC-based distributed objects, this paper presents Remote Batch Invocation (RBI), language support for explicit client-defined batches. A Remote Batch statement combines remote and local execution: all the remote code is executed in a single round-trip to the server, where all data sent to the server and results from the batch are Communicated in bulk. RBI supports remote blocks, iteration and conditionals, and local handling of remote exceptions. RBI is efficient even for fine-grained interfaces, eliminating the need for hand-optimized server interfaces. We demonstrate RBI with an extension to Java, using RMI internally as the transport layer. RBI supports large-granularity, stateless server interactions, characteristic of service-oriented computing.
EOOLT'2007 was the first edition of the ecoop-EOOLT workshop. The workshop is intended to bring researchers associated with different equation-based object-oriented (EOO) modeling languages and different applicati...
详细信息
This book constitutes the refereed proceedings of the 12th european conference on object-oriented programming, ecoop'98, held in Brussels, Belgium, in July 1998.;The book presents 24 revised full technical papers ...
详细信息
ISBN:
(数字)9783540690641
ISBN:
(纸本)9783540647379
This book constitutes the refereed proceedings of the 12th european conference on object-oriented programming, ecoop'98, held in Brussels, Belgium, in July 1998.;The book presents 24 revised full technical papers selected for inclusion from a total of 124 submissions; also presented are two invited papers. The papers are organized in topical sections on modelling ideas and experiences; design patterns and frameworks; language problems and solutions; distributed memory systems; reuse, adaption and hardware support; reflection; extensible objects and types; and mixins, inheritance and type analysis complexity.
This book constitutes the proceedings of the 27th european conference on object-oriented programming, ecoop 2013, held in Montpellier, France, in July 2013. The 29 papers presented in this volume were carefully review...
详细信息
ISBN:
(数字)9783642390388
ISBN:
(纸本)9783642390371
This book constitutes the proceedings of the 27th european conference on object-oriented programming, ecoop 2013, held in Montpellier, France, in July 2013. The 29 papers presented in this volume were carefully reviewed and selected from 116 submissions. They are organized in topical sections on aspects, components, and modularity; types; language design; concurrency, parallelism, and distribution; analysis and verification; modelling and refactoring; testing, profiling, and empirical studies; and implementation.
暂无评论