Software architectures, like complex designs in any field, embody tradeoffs made by the designers. However, these tradeoffs are not always made explicitly by the designers and the...
Rick Kazman, Mario Barbacci, Mark Klein, S. Jeromy...
Model checking is an automated technique that can be used to determine whether a system satisfies certain required properties. To address the "state explosion" problem a...
Dimitra Giannakopoulou, Corina S. Pasareanu, Jamie...
The transfer of entire projects to offshore locations, the aging and renewal of core developers in legacy products, the recruiting in fast growing Internet companies, and the part...
Use case diagrams (UCDs) are widely used to describe requirements and desired functionality of software products. However, UCDs are loosely linked to source code, and maintaining ...
Mark Grechanik, Kathryn S. McKinley, Dewayne E. Pe...
Future large-scale software development projects will require engineering support for a diverse range of software quality attributes, such as privacy and openness. It is not feasi...
Thomas Juan, Leon Sterling, Maurizio Martelli, Viv...