Software maintenance costs dominate software engineering costs, partly because most such engineering is done manually. Program Transformation tools leverage an engineer-provided b...
It has long been accepted that requirements analysis should precede architectural design and implementation, but in software evolution and reverse engineering this concern with bl...
Dynamic analysis is based on collecting data as the program runs. However, raw traces tend to be too voluminous and too unstructured to be used directly for visualization and unde...
Over the past decade, software architecture research has emerged as the principled study of the overall structure of software systems, especially the relations among subsystems an...
Mobility is redefining the hardware and software fabric of distributed systems. Wireless communication allows network hosts to participate in a distributed computation while on t...