Software architecture descriptions are high-level models of software systems. Some researchers have proposed specialpurpose architectural notations that have a great deal of expre...
Jason E. Robbins, Nenad Medvidovic, David F. Redmi...
An essential characteristic of large scale software development is parallel development by teams of developers. How this parallel development is structured and supported has a pro...
Dewayne E. Perry, Harvey P. Siy, Lawrence G. Votta
Continuous availability is a critical requirement for an important class of software systems. For these systems, runtime system evolution can mitigate the costs and risks associat...
Peyman Oreizy, Nenad Medvidovic, Richard N. Taylor
As software engineering efforts move to more complex, distributed environments, coordinating the activities of people and tools becomes very important. While groupware systems add...
The design, implementation, and testing of virtual environments is complicated by the concurrency and realtime features of these systems. Therefore, the development of formal meth...
Rajesh Mascarenhas, Dinkar Karumuri, Ugo A. Buy, R...
Component-based software development has proven effective for systems implementation in well-understood application domains, but is still insufficient for the creation of reusable...
: Despite considerable evidence to show that inspections can help reduce costs and improve quality, inspections are not widely deployed in the software industry. One of the likely ...
Empirical evaluation of software systems in actual usage situations is critical in software engineering. Prototyping, beta testing, and usability testing are widely used to refine...
Program slicing, a technique to compute the subset of program statements that can affect the value of a program variable at a specific program point, is widely used in tools to su...