Share This Author
Software Engineering for Self-Adaptive Systems: A Second Research Roadmap
The goal of this roadmap paper is to summarize the state-of-the-art and identify research challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing with a…
This paper lays the foundations of COP, shows how dynamic layer activation enables multi-dimensional dispatch, illustrates the application of COP by examples in several language extensions, and demonstrates that COP is largely independent of other commitments to programming style.
Traits: A mechanism for fine-grained reuse
- Stéphane Ducasse, Oscar Nierstrasz, Nathanael Schärli, Roel Wuyts, A. Black
- Computer ScienceTOPL
- 1 March 2006
This work develops a formal model of traits that establishes how traits can be composed, either to form other traits, or to form classes, and outlines an experimental validation in which traits are applied to refactor a nontrivial application into composable units.
Object-oriented reengineering patterns
- S. Demeyer, Stéphane Ducasse, Oscar Nierstrasz
- Computer ScienceProceedings. 26th International Conference on…
This paper addresses problem of understanding and reengineering such object-oriented legacy systems by presenting a set of "reengineering patterns" - recurring solutions that experts apply while reengineering and maintaining object- oriented systems.
Traits: Composable Units of Behaviour
- Nathanael Schärli, Stéphane Ducasse, Oscar Nierstrasz, A. Black
- Computer ScienceECOOP
- 25 November 2002
How traits overcome the problems arising with the different variants of inheritance is demonstrated, how traits can be implemented effectively is discussed, and the experience applying traits to refactor an existing class hierarchy is summarized.
Regular types for active objects
- Oscar Nierstrasz
- Computer ScienceOOPSLA '93
- 1 October 1993
A new type framework is proposed that characterizes objects as regular (finite state) processes that provide guarantees of service along public channels and proposes a new notion of subtyping for active objects that extends Wegner and Zdonik's "principle of substitutability" to non-uniform service availability.
Classbox/J: controlling the scope of change in Java
This paper demonstrates how classboxes can be implemented in statically-typed languages like Java and shows how Classbox/J, a prototype implementation of classboxes for Java, is used to provide a cleaner implementation of Swing using local refinement rather than subclassing.
Finding refactorings via change metrics
A set of heuristics for detecting refactorings by applying lightweight, object-oriented metrics to successive versions of a software system are proposed and suggested to support the reverse engineering process by focusing attention on the relevant parts of a program.
Pharo by Example
Pharo by Example, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. This book is made…
Assigning bug reports using a vocabulary-based expertise model of developers
- Do Matter, Adrian Kuhn, Oscar Nierstrasz
- Computer Science6th IEEE International Working Conference on…
- 16 May 2009
This paper presents an approach to automatically suggest developers who have the appropriate expertise for handling a bug report, model developer expertise using the vocabulary found in their source code contributions and compare this vocabulary to the vocabulary of bug reports.