The nearly three dozen core technologies of computing sit in a simple framework defined by great principles and by computing practices. The great principles are of two kinds, mech...
Managing variability is the essence of software product line (PL) practice. With many variant features and complex dependencies among them, it also becomes a major challenge for e...
Object-oriented frameworks are a popular mechanism for building and evolving large applications and software product lines. This paper describes an alternative approach to softwar...
An important element of understanding a software code base is to identify the repetitive patterns of code it contains and how these evolve over time. Some patterns are useful to t...
XML data are described by types involving regular expressions. This raises the question of what language feature is convenient for manipulating such data. Previously, we have give...