pemeliharaan Perangkat Lunak dalam rekayasa perangkat lunak adalah modifikasi dari produk perangkat lunak setelah pengiriman untuk mengoreksi kesalahan, untuk memperbaiki kinerja atau atribut lainnya.
Sebuah persepsi umum pemeliharaan adalah bahwa hal itu hanya memperbaiki bug. Namun, penelitian dan survei selama bertahun-tahun telah menunjukkan bahwa mayoritas, lebih dari 80%, dari upaya pemeliharaan digunakan untuk tindakan non-korektif (Pigosky 1997). Persepsi ini diabadikan oleh pengguna mengirimkan laporan masalah yang pada kenyataannya fungsi perangkat tambahan pada sistem.
Perangkat Lunak pemeliharaan dan evolusi sistem ini pertama kali dibahas oleh Meir M. Lehman pada tahun 1969. Selama periode dua puluh tahun, penelitiannya menyebabkan perumusan delapan Hukum Evolusi (Lehman 1997). temuan kunci dari penelitiannya meliputi pemeliharaan yang benar-benar perkembangan evolusi dan bahwa keputusan pemeliharaan dibantu dengan memahami apa yang terjadi pada sistem (dan software) dari waktu ke waktu. Lehman menunjukkan bahwa sistem terus berkembang dari waktu ke waktu. Ketika mereka berkembang, mereka tumbuh lebih kompleks kecuali beberapa tindakan seperti refactoring kode yang diambil untuk mengurangi kompleksitas.
Masalah-masalah perangkat lunak penting pemeliharaan baik manajerial dan teknis. isu-isu kunci adalah: sejalan dengan prioritas pelanggan, staf, yang tidak organisasi pemeliharaan, memperkirakan biaya. masalah teknis utama adalah: pemahaman yang terbatas, analisis dampak, pengujian, pengukuran rawatan.