—As multicore and heterogeneous multiprocessor platforms replace uniprocessor systems, software programs must be designed with a greater emphasis on concurrency. Threading has be...
Extract Method has been recognized as one of the most important refactorings, since it decomposes large methods and can be used in combination with other refactorings for fixing a...
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 ...
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...
Multi-agent systems (MAS) are increasingly being exploited to support autonomous recommendation of products and information to contemporary application users. Multi-agent system p...
Software architecture diagrams and metrics are wellknown and heavily used in many areas in software engineering. However, they are rarely combined in one (visual) representation. ...