Databases are continuously evolving environments, where design constructs are added, removed or updated rather often. Small changes in the database configurations might impact a l...
George Papastefanatos, Fotini Anagnostou, Yannis V...
Legacy systems are often large and difficult to maintain, but rewriting them from scratch is usually not a viable option. Reenginering remains the only way to modernize them. We ...
Mariano Ceccato, Paolo Tonella, Cristina Matteotti
To understand the evolution of software researchers have developed a plethora of tools to parse, model, and analyze the history of systems. Despite their usefulness, a common down...
Modern software systems are highly interconnected and have been under constant change for many years. IT decision makers find it difficult to predict and plan change projects due ...
Refactoring, in spite of widely acknowledged as one of the best practices of object-oriented design and programming, still lacks quantitative grounds and efficient tools for tasks...
In this demonstration, we present an Eclipse plug-in that automatically identifies Type-Checking bad smells in Java source code, and resolves them by applying the “Replace Condi...
Object-oriented languages such as Java, Smalltalk, and C++ structure their programs using packages, allowing classes to be organized into named abstractions. Maintainers of large ...