How and why does software evolve? This question has been under study since almost 40 years ago, and it is still a subject of controversy. In the seventies, Meir M. Lehman formulat...
While the use of computer applications is widely spread in every business and, hence, the reliability of software is critical, it is believed that many organizations involved in s...
Architecture-based software development is the implementation of a software system in terms of its architectural constructs (e.g., components, connectors, ports). It has been show...
Strong unit testing is the foundation of agile software development but embedded systems present special problems. Test of embedded software is bound up with test of hardware, cro...
Aspect-oriented programming (AOP) has been attracting much attention in the Software Engineering community by advocating that programs should be structured according to programmer...
Yijun Yu, Julio Cesar Sampaio do Prado Leite, John...