There are 3 main types of software maintenance:
1. Preventive maintenance: which consists in making a system more secure and improving its efficiency.
2. Corrective maintenance: generally intervenes to restore a failed IS to working order
3. Evolutionary maintenance: More future-oriented, it aims to recontextualize an IS, either as a priority so that it adapts as well as possible to the new needs of the business, or to new technologies on the market.