The evolution of battery technology is not being able to keep up with the increasing performance demand of mobile embedded systems. Therefore, battery life has become an important...
Components-based development is promising in improving software development productivity and software quality by re-using existing well-tested software components. However, one of...
Producing large software systems is an extremely challenging engineering task. The main reason is the difficulty of managing the enormous amounts of code and the great numbers of ...
The past 20 years has seen significant investments in the theory and practice of software architecture. However, architectural deficiencies are frequently cited as a key factor in ...
In this chapter, we explore the emerging research domain of modeldriven software refactoring. Program refactoring is a proven technique that aims at improving the quality of sourc...