Evolving an existing software system is fundamentally different from developing one from scratch. Consequently, tools to support evolution must go beyond traditional development t...
The principle of modularisation is one of the main techniques that software designers use to tame the complexity of programming. A software project, however, is complex in many oth...
As the founding Director of the Center for Software Engineering, Professor Barry Boehm developed courses that have greatly impacted the education of software engineering students....
A software system interacts with third-party libraries through various APIs. Insufficient documentation and constant refactorings of third-party libraries make API library reuse ...
Tao Xie, Mithun Acharya, Suresh Thummalapenta, Kun...
Software systems are typically modified in order to extend or change their functionality, improve their performance, port them to different platforms, and so on. For developers, i...
Spiros Mancoridis, Brian S. Mitchell, Yih-Farn Che...