This case study discusses two related aspects that are becoming increasingly important in today’s software development practice: re-engineering of a monolithic system into a com...
Modern programs make extensive use of reusable software libraries. For example, a study of a number of large Java applications shows that between 17% and 30% of the classes in tho...
Johannes Henkel, Christoph Reichenbach, Amer Diwan
As developers modify software entities such as functions or variables to introduce new features, enhance old ones, or fix bugs, they must ensure that other entities in the software...
During initial program comprehension, software engineers could benefit from knowing the most need-to-beunderstood classes in the system under study in order to kick-start their s...
Testing is an important process that is performed to support quality assurance. Testing activities support quality assurance by gathering information about the nature of the softw...