This paper describes opportunities for automatically modernizing Erlang applications, cleaning them up, eliminating certain bad smells from their code and occasionally also improv...
—Reducing software complexity is key to reducing software maintenance costs. To discover complexity-reducing practices, in this paper we study the evolution of seven sizable open...
Recent research showed that the majority of compatibility-breaking changes in a component-based, object-oriented software system are refactorings [5]. The software updating proces...
Design defects come from poor design choices and have the effect of degrading the quality of object-oriented designs. Therefore, they present opportunities for improvements. Howev...
The object-oriented approach to software development facilitates and encourages programming practices that increase reusability, correctness and maintainability in code. This is a...