"The problems faced by software engineers are numerous," stated Lum Yat Kay, a software engineer. Among them are; combining two or more programs, providing support for the combined programs, portability of software programs, inadequate funding, and time. Portability of software means the ability of software to run on different operating systems.