Software brittleness

Last updated

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. [1] [2] [3] 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.

Contents

Causes

When software is new, it is very malleable; it can be formed to be whatever is wanted by the implementers. But as the software in a given project grows larger and larger, and develops a larger base of users with long experience with the software, it becomes less and less malleable. Like a metal that has been work-hardened, 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:

Often, an old codebase, that may be based on flawed assumptions or deprecated technologies, is simply abandoned in favor of a new codebase created from scratch ( AKA. rewrite) which might be free of many of the burdens of the legacy system, but this solution can 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.