Despite many advances in program comprehension, polymorphism and inheritance are still the cause of many misunderstandings in object-oriented code. In this paper, we present a sui...
Certain design fragments in software architectures can have a negative impact on system maintainability. In this paper, we introduce the concept of architectural “bad smells,”...
Joshua Garcia, Daniel Popescu, George Edwards, Nen...
For any non-trivial software project, architectural drift is a well-known problem. Over time, the design rules and guidelines governing the software project are no longer obeyed, ...
Andy Kellens, Kris De Schutter, Theo D'Hondt, Luc ...
Decomposing a software system into smaller, more manageable clusters is a common approach to support the comprehension of large systems. In recent years, researchers have focused ...
Past software engineering literature has firmly established that software architectures and the associated code decay over time. Architectural decay is, potentially, a major issu...