We propose undoable versions of the projection operations used when programs written in higher-order statically-typed languages interoperate with dynamically typed ones, localizing...
Abstract. A new class of languages of infinite words is introduced, called the maxregular languages, extending the class of -regular languages. The class has two equivalent descrip...
When library APIs change, client code should change in response, in order to avoid erroneous behavior, compilation failures, or warnings. Previous research has introduced techniqu...
Abstract. Evaluating the implications of an architecture design early in the software development lifecycle is important in order to reduce costs of development. Reliability is an ...
Software modifications are often systematic—they consist of similar, but not identical, program changes to multiple contexts. Existing tools for systematic program transformati...