As functionality is added to an ageing piece of software, its original design and structure tends to erode. The underlying forces which cause such degradation have been the subject...
Software Engineering studies run in classroom environments can and have made important contributions to empirical software engineering. Because the goal of such studies is to impr...
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...
A complex software system typically has a large number of objects in the memory, holding references to each other to implement an object model. Deciding when the objects should be...
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...