Every program tells a story. Programming, then, is the art of constructing a story about the objects in the program and what they do in various situations. So-called programming l...
One of the most difficult tasks in software development is that features are implemented by changing the code of other features. This problem cannot be solved with existing general...
Joins or chords is a concurrency construct that seems to fit well with the object oriented paradigm. Chorded languages are presented with implicit assumptions regarding the fair t...
Aspect-oriented programming languages select join points using pointcut constructs that depend on the syntactic structure of the base program. As the base program evolves, the poi...
This paper introduces an analysis technique, commutativity analysis, for automatically parallelizing computations that manipulate dynamic, pointer-based data structures. Commutati...