Skip to Main Content
The ever-growing size and complexity of software systems creates a strong need for a major improvement in productivity in the software development process. However, automated production does not yet have an equivalent in the software development industry. Maintenance costs in particular, due to changes in requirements, remain extremely high in most software systems. Structured component models, component-based development processes, and initiatives for software factories are trying to tackle these issues. This paper states that there is a need to establish firm rules and laws that govern the process of software changes and evolvability. In order to contribute to the process of discovering these rules and laws, a case-driven approach is used. Based on a highly structured and large-scale codebase, an attempt is made to identify and quantify impacts and propagations of basic changes. Though the study is limited to a single codebase, the purpose is to contribute to an inductive reasoning process that may one day establish laws for software evolvability, similar to the mathematical foundation of systems theory.