MAINTAINING RELIABLE SYSTEMS THROUGH PROACTIVE SOFTWARE PRACTICES