Pair programming is a practice in which two programmers work collaboratively at one computer on the same design, algorithm, or code. Prior research on pair programming has primari...
A key property of agents is that they are social, and hence the design of agent interactions is a crucial part of an agentoriented software engineering methodology. Agent interact...
Software architecture description languages (ADLs) were a particularly active research area in the 1990s. In 2000, we published an extensive study of existing ADLs, which has serv...
ACTION THE KEY TO COMPUTING? Why is it that some software engineers and computer scientists are able to produce clear, elegant designs and programs, while others cannot? Is it poss...
Software designs decay over time. While most studies focus on decay at the system level, this research studies design decay on well understood micro architectures, design patterns...