Software refactoring is the process of reorganizing the internal structure of code while preserving the external behavior. Aspect-Oriented Programming (AOP) provides new modulariz...
Aspect mining tries to identify crosscutting concerns in existing systems and thus supports the adaption to an aspect-oriented design. This paper describes an automatic static asp...
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 repositories are rich sources of information about the software development process. Mining the information stored in them has been shown to provide interesting insights ...
Design patterns are solutions to recurring design problems, conceived to increase benefits in terms of reuse, code quality and, above all, maintainability and resilience to change...
Lerina Aversano, Gerardo Canfora, Luigi Cerulo, Co...