The UC student record system contains a millenium bug. To check for bugs it is necessary to run test data through the program to ensure it operates properly. Beta release software normally has an expiry date - it will not run after that date. Some bugs are deliberate. One programmer programmed a bank's computer to transfer all rounded amounts to his account.
Programmers pose a major control risk.
Separation of duties must be rigidly imposed on programmers. They are not to have access to any assets or to the operations of the computer system. Before a programmer updates a program, the update must be tested and approved by a supervisor. A back-up of the program before the update must be stored in case there is a bug in the update. Centralised Processing and Storage Centralised processing increases the likely magnitude of errors.