Topic summary
Software brittleness

Description of how difficult software is to modify In computer programming and software engineering, software brittleness is the increased likelihood that software, that previously appeared reliable, now fails (breaks) when presented with new and unusual data that is altered in some way which generates an undiscovered logic error or semantic error not found during initial software testing. The phrase is derived from analogies to brittleness in metalworking. Because of the variety of complex systems such as analog electronics, digital electronics, instrumentation, robotics, software design, heuristics , AI, and more, the general definition that any complex system that cannot maintain control due to a small change within the expected range of operation would be considered fragile, breakable, and thus “brittle”. Any complex system pushed beyond its designed limits of control would likely not be considered brittle. Causes As software grows larger in scope and users without any maintenance or refactoring, over time the software becomes a legacy system, brittle and unable to be easily maintained without fracturing the entire system.[citation needed] Brittleness in software could be c