ABSTRACT

Chapter Summary Chapter 6 motivated the quest for effective solutions to software evolution beyond conventional techniques. Among many problems complicating evolution of programs, two are particularly acute, namely, poor visibility of changes, and explosion of look-alike component versions caused by weak generic design capabilities of conventional techniques. If similarities and differences among past releases remain implicit, it is difficult to reuse features already implemented in those releases when building a new release of an evolving software. Any changes affecting past releases must then be done on a case-by-case basis on each system release. In this chapter, we present the concepts of the mixed-strategy approach, which relies on clear exposition of similarities and differences among the software releases and leads to more effective reuse-based evolution. The purpose of this chapter is to build an intuitive understanding of the approach, which will help the reader to easily absorb technical details presented in subsequent chapters.