Software brittleness

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 caused by underdeveloped algorithms that might have worked well for their full range of input data at its creation but promptly breaks when confronted with new data that was expected to be within the capability of the algorithm to perform correctly. Following, are some examples:

Old codebases may be designed around flawed assumptions or deprecated technologies; sometimes they are abandoned in favor of rewriting a new codebase from scratch. This can free a project of a legacy system's burdens, but it can also be an expensive and time-consuming process.

Some examples and reasons behind software brittleness:

See also

References

  1. ↑ "Definition of software brittleness". PCMAG. Retrieved 2023-05-19.
  2. ↑ https://www.forbes.com/sites/lanceeliot/2024/02/25/exposing-the-brittleness-of-generative-ai-as-exemplified-by-the-recent-gibberish-meltdown-of-chatgpt/
  3. ↑ https://www.osti.gov/servlets/purl/15150-ZiNDhO/webviewable/
  4. ↑ "Y2K bug". education.nationalgeographic.org. Retrieved 2023-05-19.