Software maintenance
maintenancemaintainedmaintainmaintainabilitymaintainingcode maintenanceactively maintainedapplication maintenanceMaintainability Indexmaintainable
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.wikipedia
119 Related Articles
Software evolution
evolutionEvolutionary Delivery ("Evo")evolving
Software maintenance and evolution of systems was first addressed by Meir M. Lehman in 1969.
Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing software initially, then repeatedly updating it for various reasons.
Software engineering
software engineersoftware engineerssoftware
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
Software maintenance: refers to the activities required to provide cost-effective support after shipping the software product.
Spaghetti code
Lasagna code("spaghetti") codemonolithic
For example, very complex spaghetti code is quite difficult to maintain safely.
Spaghetti code is a pejorative phrase for unstructured and difficult-to-maintain source code.
Long-term support
LTSlong term supportExtended-support release
Long-term support (LTS) is a product lifecycle management policy in which a stable release of computer software is maintained for a longer period of time than the standard edition.
Maintainability
maintainableMaintainability indexunmaintainable
In software engineering, these activities are known as software maintenance (cf.
Software archaeology
computer historianprogrammer archaeologistsprogrammer-archaeologist
Software archaeology or software archeology is the study of poorly documented or undocumented legacy software implementations, as part of software maintenance.
Operating system
operating systemsOScomputer operating system
When porting the application to run on another OS, the functionality required by that application may be implemented differently by that OS (the names of functions, meaning of arguments, etc.) requiring the application to be adapted, changed, or otherwise maintained.








Software development
developmentdevelopedapplication development
Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process.

Search-based software engineering
Search Based Software Engineering
Search techniques have been applied to other software engineering activities, for instance, requirements analysis, design, development, and maintenance.
Journal of Software: Evolution and Process
Journal of Software Maintenance and Evolution: Research and Practice
Software maintainer
maintainermaintainedmaintainers
Software bug
bugsbugsoftware bugs
A common perception of maintenance is that it merely involves fixing defects.


Manny Lehman (computer scientist)
Meir M. LehmanManny LehmanMeir Manny Lehman
Software maintenance and evolution of systems was first addressed by Meir M. Lehman in 1969.

Code refactoring
refactoringrefactoredrefactor
As they evolve, they grow more complex unless some action such as code refactoring is taken to reduce the complexity.
Whole-life cost
life-cycle costslife cycle costLife-cycle cost
Database
database management systemdatabasesDBMS




Change impact analysis
impact analysischange impact prediction
Key technical issues are: limited understanding, impact analysis, testing, maintainability measurement.
Software modernization
Application ModernizationLegacy ModernizationSoftware migration
Service-level agreement
service level agreementSLAservice level agreements
Corrective maintenance
maintenancecorrectiverepair costs

Maintenance (technical)
maintenancepreventive maintenancerepair




Internet Explorer
Microsoft Internet ExplorerIEMSIE
The browser is discontinued, but still maintained.



Software industry
Softwaresoftware companysoftware companies
The software industry includes businesses for development, maintenance and publication of software that are using different business models, mainly either "license/maintenance based" (on-premises) or "Cloud based" (such as SaaS, PaaS, IaaS, MaaS, AaaS, etc.).
Application lifecycle management
ALMapplication managementlifecycle management
Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs.