Creating long-lived software systems requires a technology to build systems with good maintainability. One of the core ideas of the Model Driven Architecture (MDA) is to ease the ...
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...
Traditional mutation testing considers only first order mutants, created by the injection of a single fault. Often these first order mutants denote trivial faults that are easil...
How do design decisions impact the quality of the resulting software? In an empirical study of 52 ECLIPSE plug-ins, we found that the software design as well as past failure histo...
Software continually changes due to performance improvements, new requirements, bug fixes, and adaptation to a changing operational environment. Common changes include modificatio...
Sunghun Kim, E. James Whitehead Jr., Jennifer Beva...