A study of software component system evolution : a thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Science at Massey University, Palmerston North, New Zealand - Jenson, Graham (Massey University, 2013)
There are an estimated 20 million users of the Ubuntu operating system and millions of users of the Eclipse integrated development environment. Ubuntu and Eclipse systems are constructed from components, called packages and bundles respectively, and can be changed by adding or removing components to and from their systems. Over time these systems will be continually changed to adapt to their software environment, accommodate new user requirements, x errors and/or prevent errors from occurring in the future. This continual change is called the component system evolution process. Using a developed simulation this thesis investigates the reduction of negative e ects during the component system evolution process. The primary negative effects that are focused on are the amount of change made to the system, and the out-of-dateness of the system. The simulation was created by modelling the evolution of component systems and executed using a developed implementation. Various experiments that simulate an Ubuntu system evolving over a year were conducted, and the change and out-of-dateness of these systems measured. These experiments resulted in two novel approaches that can be used to reduce change and out-of-dateness during evolution. Therefore, this research could be used to reduce negative effects on millions of evolving component systems.
Keywords: Computer operating systems; Ubuntu operating system; Eclipse software development environment; Component system evolution; Component-based software