There are many algorithms for concurrent garbage collection, but they are complex to describe, verify, and implement. This has resulted in a poor understanding of the relationships...
Martin T. Vechev, David F. Bacon, Perry Cheng, Dav...
Traits support the factoring out of common behaviour, and its integration into classes in a manner that coexists smoothly with inheritance-based structuring mechanisms. We designed...
Most modern programming systems such as Java allow us to link independently developed components together dynamically. This makes it possible to develop and deploy software on a pe...
Two object-oriented programming language paradigms— dynamic, prototype-based languages and multi-method languages— provide orthogonal benefits to software engineers. These two...
This paper presents our ongoing research towards a safe system evolution. Our approach is based on data-centric, objectoriented systems. Within those systems we utilise (i) multi-...
In Java 2 and Microsoft .NET Common Language Runtime (CLR), trusted code has often been programmed to perform accessrestricted operations not explicitly requested by its untrusted ...
Marco Pistoia, Robert J. Flynn, Larry Koved, Vugra...
Abstract. In aspect-oriented programming, pointcuts are used to describe crossstructure. Pointcuts that abstract over irrelevant implementation details are clearly desired to bette...
Abstract. Integrated development environments have been designed and engineered to display structural information about the source code of large systems. When a development task li...
Gail C. Murphy, Mik Kersten, Martin P. Robillard, ...
The three problems of the title — the first two widely discussed in the literature, the third less well known but just as important for further development of object technology ...
Abstract. A software product-line is a family of related programs. Each program is defined by a unique combination of features, where a feature is an increment in program functiona...
Roberto E. Lopez-Herrejon, Don S. Batory, William ...