A major difficulty in compiler development regards the proper modularization of concerns among the various compiler phases. The traditional object-oriented development paradigm ha...
Building complex software systems necessitates the use of component-based architectures. In theory, of the set of components needed for a design, only some small portion of them ar...
Software design is a cognitively challenging task. Most software design tools provide support for editing, viewing, storing, and transforming designs, but lack support for the ess...
Behaviour analysis should form an integral part of the software development process. This is particularly important in the design of concurrent and distributed systems, where comp...
Dimitra Giannakopoulou, Jeff Kramer, Shing-Chi Che...
Posing speculative questions about a software system is an important yet often unsupported activity. Current impact analysis techniques tend to focus upon the functionality of the...
Jane Cleland-Huang, Carl K. Chang, Gaurav Sethi, K...