HomeSubjectsUniversityBlogAbout

Maintenance & Evolution

Topic in Software Engineering

210 total MCQsShowing 30 with explanations10 Easy10 Medium10 Hard

About This Topic

Software maintenance is the modification of a software product after delivery to fix faults, adapt it to new environments, or improve its features. Questions classify work as corrective, adaptive, perfective or preventive maintenance and ask why maintenance consumes a large portion of lifetime cost. Expect impact analysis, program comprehension, maintenance requests and logs, and service level agreements. Legacy system topics include reverse engineering, re-engineering and the risk of ripple effects when changing tightly coupled code. Evolution theory appears through Lehman's laws, the Belady-Lehman model and software entropy, which describes structure degrading as successive changes accumulate over time.

Below are 30 practice questions from a pool of 210 Maintenance & Evolution MCQs, one of 16 topics in Software Engineering. Each shows the correct answer with an explanation; when you are ready, take a timed quiz to test recall under exam conditions.

Practice Questions

Each question below shows the correct answer with a full explanation. Use these to build conceptual understanding before attempting a timed quiz.

Maintenance & EvolutionEasy

Q1. What is software maintenance?

  1. A.Writing brand new software from scratch entirely in the development process
  2. B.Maintaining physical hardware equipment and parts during the software lifecycle
  3. C.Installing software on new workstations and PCs within the project scope
  4. D.Modifying software after delivery to correct faults, improve performance, or adapt to changes✓ Correct

Explanation

Software maintenance modifies software after delivery to fix, improve, or adapt it.

Report an error in this question

Maintenance & EvolutionEasy

Q2. What is preventive maintenance?

  1. A.Preventing all use of the software product system in practice typically
  2. B.Making changes to prevent future problems and improve maintainability✓ Correct
  3. C.Preventing all user access to the entire system by the organization
  4. D.Preventing only software bugs from occurring only as a standard approach

Explanation

Preventive maintenance prevents potential future problems.

Report an error in this question

Maintenance & EvolutionEasy

Q3. What is legacy software?

  1. A.Brand new recently developed software application
  2. B.Open source freely available software components
  3. C.Older software that is still in use but may be difficult to maintain✓ Correct
  4. D.Mobile application software for phones and tablets

Explanation

Legacy software is older software that continues to serve important functions.

Report an error in this question

Maintenance & EvolutionEasy

Q4. What is a software release?

  1. A.Permanently deleting the software product files
  2. B.A press release about the software product launch
  3. C.A version of software made available to users✓ Correct
  4. D.A specific type of software defect or bug found

Explanation

A software release is a version distributed and made available to users.

Report an error in this question

Maintenance & EvolutionMedium

Q5. What is the concept of 'software entropy'?

  1. A.The energy consumption of running software systems for the development team
  2. B.The tendency of software to become more disordered and difficult to maintain over time✓ Correct
  3. C.A concept from physics thermodynamics discipline within the project scope
  4. D.An established coding standard and guideline type throughout the project

Explanation

Software entropy describes increasing disorder and maintenance difficulty over time.

Report an error in this question

Maintenance & EvolutionEasy

Q6. What is adaptive maintenance?

  1. A.Adding brand new features to the product
  2. B.Modifying software to work in a changed environment✓ Correct
  3. C.Fixing bugs found after release for the development team
  4. D.Improving performance and speed throughout the project

Explanation

Adaptive maintenance accommodates changes in the environment.

Report an error in this question

Maintenance & EvolutionHard

Q7. What is the ripple effect in software maintenance?

  1. A.Physical water ripples in a pond surface area within the given constraints
  2. B.A user interface animation and transition effect by the project team members
  3. C.Audio sound effects in the user interface design in all development efforts
  4. D.The propagation of changes through the system, causing unintended side effects✓ Correct

Explanation

The ripple effect describes how changes propagate and cause unintended effects.

Report an error in this question

Maintenance & EvolutionHard

Q8. What is technical debt in the context of maintenance?

  1. A.Accumulated shortcuts and suboptimal decisions that increase future maintenance cost✓ Correct
  2. B.Financial debt for purchasing hardware equipment for effective project outcomes
  3. C.Monthly developer salary payments and wage costs as part of the methodology
  4. D.Annual recurring software licensing fee cost totals in the development process

Explanation

Technical debt represents accumulated cost of past shortcuts increasing future maintenance expense.

Report an error in this question

Maintenance & EvolutionHard

Q9. What is the concept of 'design recovery' in maintenance?

  1. A.Using reverse engineering to reconstruct higher-level design abstractions from code✓ Correct
  2. B.Recovering from catastrophic design errors quickly within the project scope
  3. C.Recovering accidentally deleted design documents during the software lifecycle
  4. D.Creating design backup copies and archive storage for the development team

Explanation

Design recovery reconstructs higher-level design abstractions from existing code.

Report an error in this question

Maintenance & EvolutionMedium

Q10. What is Lehman's Law of Increasing Complexity?

  1. A.As a system evolves, its complexity increases unless work is done to reduce it✓ Correct
  2. B.Complexity is completely irrelevant to all quality over the entire lifecycle
  3. C.Complexity always stays perfectly constant overall and its related activities
  4. D.Complexity always decreases over time by itself by the development process

Explanation

Complexity increases unless work is actively done to reduce it.

Report an error in this question

Maintenance & EvolutionHard

Q11. What is the relationship between maintainability and other quality attributes?

  1. A.Maintainability is completely independent of everything at every stage
  2. B.Maintainability often trades off with performance but supports reliability and portability✓ Correct
  3. C.There is absolutely no relationship at all between them as a standard approach
  4. D.Maintainability conflicts with all other quality attributes by the organization

Explanation

Maintainability often trades off with performance but supports reliability and portability.

Report an error in this question

Maintenance & EvolutionHard

Q12. What is the difference between wrapping and re-engineering legacy systems?

  1. A.Re-engineering is always significantly faster overall and its related activities
  2. B.Wrapping is always significantly more expensive work by the development process
  3. C.The two approaches are completely identical overall within the system boundary
  4. D.Wrapping adds a new interface around the legacy system; re-engineering restructures its internals✓ Correct

Explanation

Wrapping adds a new interface; re-engineering restructures internals.

Report an error in this question

Maintenance & EvolutionHard

Q13. What is the Lehman-Belady model of software evolution?

  1. A.A creational object-oriented design pattern type to achieve project objectives
  2. B.A comprehensive software testing model and plan in the engineering discipline
  3. C.A purely mathematical model for calculation work and related components
  4. D.A set of laws describing the behavior and evolution of large software systems✓ Correct

Explanation

The Lehman-Belady model provides empirical laws about large software system evolution.

Report an error in this question

Maintenance & EvolutionEasy

Q14. What is a software patch?

  1. A.A physical hardware fix and repair procedure doc
  2. B.A completely new software release version number
  3. C.A piece of code designed to fix or update existing software✓ Correct
  4. D.A fabric patch for clothing and textile repairs

Explanation

A patch fixes bugs, updates features, or addresses security vulnerabilities.

Report an error in this question

Maintenance & EvolutionMedium

Q15. What is program comprehension?

  1. A.Reading a technical programming textbook chapter
  2. B.Understanding existing code to perform maintenance or modifications✓ Correct
  3. C.Compiling source code into executable file formats
  4. D.Writing brand new application source code logic

Explanation

Program comprehension involves understanding existing source code for maintenance.

Report an error in this question

Maintenance & EvolutionHard

Q16. What is Lehman's Law of Self-Regulation?

  1. A.Software evolution processes are self-regulating with statistically determinable trends✓ Correct
  2. B.Software automatically regulates itself without help in practice typically
  3. C.Programs never need any updates or patches applied as a standard approach
  4. D.Developers regulate themselves without any guidance by the organization

Explanation

Software evolution processes are self-regulating with statistically determinable trends.

Report an error in this question

Maintenance & EvolutionEasy

Q17. What is software evolution?

  1. A.Darwin's biological theory of species evolution for the project goals
  2. B.Permanently deleting outdated software and files according to best practices
  3. C.Physical hardware evolution over many years time within the system boundary
  4. D.The process of continuously changing and adapting software over its lifecycle✓ Correct

Explanation

Software evolution is the continuous process of updating and modifying software.

Report an error in this question

Maintenance & EvolutionMedium

Q18. What is migration in software maintenance?

  1. A.Moving to a new country or city location abroad in the system context
  2. B.Moving software from one environment, platform, or technology to another✓ Correct
  3. C.Installing new physical hardware equipment devices for quality purposes
  4. D.Permanently deleting old legacy software and files during implementation

Explanation

Migration moves software from one platform or technology to another.

Report an error in this question

Maintenance & EvolutionMedium

Q19. What is the impact analysis in maintenance?

  1. A.Conducting performance benchmarking analysis tests
  2. B.Analyzing user behavior and usage pattern metrics
  3. C.Performing financial analysis of the project budget
  4. D.Assessing the effects of proposed changes on the rest of the system✓ Correct

Explanation

Impact analysis determines potential consequences of a proposed change.

Report an error in this question

Maintenance & EvolutionMedium

Q20. What is software aging?

  1. A.Developer aging and gaining experience over career for effective project outcomes
  2. B.Physical hardware aging over many years of running in the engineering discipline
  3. C.The degradation of software quality over time due to accumulated changes and environmental evolution✓ Correct
  4. D.Software physically getting old and worn down over time to achieve project objectives

Explanation

Software aging is progressive deterioration due to accumulated modifications.

Report an error in this question

Maintenance & EvolutionMedium

Q21. What is a maintenance request?

  1. A.A physical hardware equipment purchase request doc
  2. B.A purchase order for new office supply materials
  3. C.A formal request to change, fix, or enhance existing software✓ Correct
  4. D.A personal vacation and time off request document

Explanation

A maintenance request is a formal document requesting a software modification.

Report an error in this question

Maintenance & EvolutionHard

Q22. What is software rejuvenation?

  1. A.Periodically restarting or reinitializing software to prevent degradation from accumulated errors✓ Correct
  2. B.Making software visually look brand new and fresh throughout the project in the system context
  3. C.Completely rewriting the entire software system over during implementation
  4. D.Updating only the user interface visual design look for quality purposes in practice typically

Explanation

Software rejuvenation proactively restarts software to clean up accumulated state degradation.

Report an error in this question

Maintenance & EvolutionHard

Q23. What is the concept of 'software archaeology'?

  1. A.Digging up old physical computer equipment devices at every stage across all phases
  2. B.A museum exhibit about computing history artifacts in a systematic way for the project goals
  3. C.Physical hardware recovery and data retrieval work according to best practices
  4. D.The study and recovery of knowledge about legacy systems through code analysis and documentation✓ Correct

Explanation

Software archaeology recovers lost knowledge about legacy systems.

Report an error in this question

Maintenance & EvolutionMedium

Q24. What is reverse engineering in software maintenance?

  1. A.Analyzing existing software to understand its design and implementation✓ Correct
  2. B.Completely uninstalling the software product system within the given constraints
  3. C.Writing application source code backwards manually for all project stakeholders
  4. D.Building and manufacturing physical cars and parts as defined by standards

Explanation

Reverse engineering analyzes existing software to recover its design.

Report an error in this question

Maintenance & EvolutionMedium

Q25. What is the difference between maintenance and evolution?

  1. A.Maintenance is always more comprehensive overall during the software lifecycle
  2. B.Maintenance fixes and adapts; evolution is the broader process of continuous change✓ Correct
  3. C.The two concepts are completely identical overall as part of the methodology
  4. D.Evolution is just a type of maintenance activity in the development process

Explanation

Maintenance focuses on fixing and adapting; evolution is the broader continuous change process.

Report an error in this question

Maintenance & EvolutionEasy

Q26. What is perfective maintenance?

  1. A.Adapting software to new operating platforms only for quality purposes
  2. B.Making software absolutely perfect and flawless in the system context
  3. C.Fixing only critical security bugs and flaws only during implementation
  4. D.Enhancing software functionality and performance based on user feedback✓ Correct

Explanation

Perfective maintenance enhances functionality and performance.

Report an error in this question

Maintenance & EvolutionEasy

Q27. What is corrective maintenance?

  1. A.Improving overall system performance speed rates
  2. B.Fixing defects and bugs discovered after deployment✓ Correct
  3. C.Adapting software to new operating environments
  4. D.Adding new features and functionality to the app

Explanation

Corrective maintenance fixes bugs found after deployment.

Report an error in this question

Maintenance & EvolutionEasy

Q28. What percentage of software cost is typically spent on maintenance?

  1. A.60-80%✓ Correct
  2. B.25% acr
  3. C.10% at
  4. D.5% in

Explanation

60-80% of total software costs are spent on maintenance.

Report an error in this question

Maintenance & EvolutionHard

Q29. What is the concept of 'feature interaction' in maintenance?

  1. A.Comprehensive feature testing and validation plans for all project stakeholders
  2. B.Features physically meeting one another in person over the entire lifecycle
  3. C.Formal feature documentation and specification docs as defined by standards
  4. D.Unexpected behavior when independently developed features conflict or interfere✓ Correct

Explanation

Feature interaction causes unexpected behavior when independent features conflict.

Report an error in this question

Maintenance & EvolutionMedium

Q30. What is re-engineering in software?

  1. A.Deploying software to production server systems now and related components
  2. B.Restructuring or rewriting existing software to improve its quality without changing functionality✓ Correct
  3. C.Permanently deleting the software product entirely by the project team members
  4. D.Starting completely over from scratch and beginning in all development efforts

Explanation

Re-engineering restructures software to improve quality without changing functionality.

Report an error in this question

Ready to test yourself on Maintenance & Evolution?

Take a timed quiz drawn from 210+ questions on this topic. No signup required — your progress saves in your browser.

Start Maintenance & Evolution Quiz