Rationale research in software development is a challenging area because while there is no shortage of advocates for its value, there is also no shortage of reasons for why rationa...
An armada of emerging agile methods of software development (with eXtreme Programming and Scrum being the most broadly used) is both gaining popularity and generating lots of cont...
Software systems are designed and engineered to process data. However, software is data too. The size and variety of today's software artifacts and the multitude of stakehold...
The construction of a large class of distributed systems can be simplified by leveraging middleware, which is layered between network operating systems and application components....
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...