The first type of maintenance is also the most obvious and the cheapest to run. It is also the most common. Corrective simply fixes problems as they arise to ensure that the system closely matches the original specification. Normally a support contract will be taken out by the customer to ask the developer to work on corrective maintenance. Their mandate will be clear. They are to fix problems, without breaking or adding functionality.